Dismax mm per field

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Dismax mm per field

Dmitriy  Shvadskiy
Hello,
Is there a way to apply (e)dismax mm parameter per field? If I have a query
field1:(blah blah) AND field2:(foo bar)

is there a way to apply mm only to field2?

Thanks,
Dmitriy
Reply | Threaded
Open this post in threaded view
|

Re: Dismax mm per field

Jonathan Rochkind
There is not, and the way dismax works makes it not really that feasible
in theory, sadly.

One thing you could do instead is combine multiple separate dismax
queries using the nested query syntax. This will effect your relevancy
ranking possibly in odd ways, but anything that accomplishes 'mm per
field' will neccesarily not really be using dismax's disjunction-max
relevancy ranking in the way it's intended.

Here's how you could combine two seperate dismax queries:

&defType=lucene
&q=_query_:"{!dismax qf=field1 mm=100%}blah blah" AND _query_:"{!dismax
qf=field2 mm=80%}foo bar"

That whole "q" value would need to be properly URI escaped, which I
haven't done here for human-readability.

Dismax has always got an "mm", there's no way to not have an mm with
dismax, but mm 100% might be what you mean. Of course, one of those
queries could also not be dismax at all, but ordinary lucene query
parser or anything else. And of course you could have the same query
text for nested queries repeating eg "blah blah" in both.



On 8/3/2011 11:24 AM, Dmitriy Shvadskiy wrote:

> Hello,
> Is there a way to apply (e)dismax mm parameter per field? If I have a query
> field1:(blah blah) AND field2:(foo bar)
>
> is there a way to apply mm only to field2?
>
> Thanks,
> Dmitriy
>
> --
> View this message in context: http://lucene.472066.n3.nabble.com/Dismax-mm-per-field-tp3222594p3222594.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>
Reply | Threaded
Open this post in threaded view
|

Re: Dismax mm per field

Dmitriy  Shvadskiy
Thanks Jonathan. I thought it would be possible via nested queries but somehow could not get it to work.
I'll give it another shot.

On Wed, Aug 3, 2011 at 12:32 PM, Jonathan Rochkind [via Lucene] <[hidden email]> wrote:
There is not, and the way dismax works makes it not really that feasible
in theory, sadly.

One thing you could do instead is combine multiple separate dismax
queries using the nested query syntax. This will effect your relevancy
ranking possibly in odd ways, but anything that accomplishes 'mm per
field' will neccesarily not really be using dismax's disjunction-max
relevancy ranking in the way it's intended.

Here's how you could combine two seperate dismax queries:

&defType=lucene
&q=_query_:"{!dismax qf=field1 mm=100%}blah blah" AND _query_:"{!dismax
qf=field2 mm=80%}foo bar"

That whole "q" value would need to be properly URI escaped, which I
haven't done here for human-readability.

Dismax has always got an "mm", there's no way to not have an mm with
dismax, but mm 100% might be what you mean. Of course, one of those
queries could also not be dismax at all, but ordinary lucene query
parser or anything else. And of course you could have the same query
text for nested queries repeating eg "blah blah" in both.



On 8/3/2011 11:24 AM, Dmitriy Shvadskiy wrote:

> Hello,
> Is there a way to apply (e)dismax mm parameter per field? If I have a query
> field1:(blah blah) AND field2:(foo bar)
>
> is there a way to apply mm only to field2?
>
> Thanks,
> Dmitriy
>
> --
> View this message in context: http://lucene.472066.n3.nabble.com/Dismax-mm-per-field-tp3222594p3222594.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>



If you reply to this email, your message will be added to the discussion below:
http://lucene.472066.n3.nabble.com/Dismax-mm-per-field-tp3222594p3222792.html
To unsubscribe from Dismax mm per field, click here.