Personally, I am not convinced how the q.op and mm parameters are really
handled within nested queries. There have been bugs in edismax and some
oddities for how it does work. I have personally given up on figuring out
how the code works. At one stage, back in the days when I did feel that I
had a handle on the code, the q.op/mm logic seemed to apply only to the
outer, top level of the query, not to the nested terms of the query, but my
recollection could be faulty on that specific point, and it may have
changed as some bugs have been fixed.

So, I would suggest that you file a Jira and let the committers sort out
whether it is really a bug or simply needs better doc for its expected
behavior on this specific issue.

-- Jack Krupansky

On Thu, Apr 2, 2015 at 1:02 PM, Mahmoud Almokadem <prog.mahm...@gmail.com>
wrote:

> Thanks all for you response,
>
> But the parsed_query and number of results still when changing MM parameter
>
> the following results for mm=100% and mm=0%
>
>
> http://solrserver/solr/collection1/select?q=%2B(word1+word2)&rows=0&fl=Title&wt=json&indent=true&debugQuery=true&defType=edismax&qf=title&mm=100%25&stopwords=true&lowercaseOperators=true
> <
> http://10.1.1.118:8090/solr/PAEB/select?q=%2B(word1+word2)&rows=0&fl=Title&wt=json&indent=true&debugQuery=true&defType=edismax&qf=title&mm=100%25&stopwords=true&lowercaseOperators=true
> >
>
> "rawquerystring": "+(word1 word2)", "querystring": "+(word1 word2)",
> "parsedquery": "(+(+(DisjunctionMaxQuery((title:word1))
> DisjunctionMaxQuery((title:word2)))))/no_coord",
> "parsedquery_toString": "+(+((title:word1) (title:word2)))”,
>
>
>
>
> http://solrserver/solr/collection1/select?q=%2B(word1+word2)&rows=0&fl=Title&wt=json&indent=true&debugQuery=true&defType=edismax&qf=title&mm=0%25&stopwords=true&lowercaseOperators=true
> <
> http://10.1.1.118:8090/solr/PAEB/select?q=%2B(word1+word2)&rows=0&fl=Title&wt=json&indent=true&debugQuery=true&defType=edismax&qf=title&mm=100%25&stopwords=true&lowercaseOperators=true
> >
>
> "rawquerystring": "+(word1 word2)", "querystring": "+(word1 word2)",
> "parsedquery": "(+(+(DisjunctionMaxQuery((title:word1))
> DisjunctionMaxQuery((title:word2)))))/no_coord",
> "parsedquery_toString": "+(+((title:word1) (title:word2)))",
>
> There are any changes on two queries
>
> solr version 4.8.1
>
> Thanks,
> Mahmoud
>
> On Thu, Apr 2, 2015 at 6:56 PM, Davis, Daniel (NIH/NLM) [C] <
> daniel.da...@nih.gov> wrote:
>
> > Thanks Shawn,
> >
> > This is what I thought, but Solr often has features I don't anticipate.
> >
> > -----Original Message-----
> > From: Shawn Heisey [mailto:apa...@elyograg.org]
> > Sent: Thursday, April 02, 2015 12:54 PM
> > To: solr-user@lucene.apache.org
> > Subject: Re: edismax operators
> >
> > On 4/2/2015 9:59 AM, Davis, Daniel (NIH/NLM) [C] wrote:
> > > Can the mm parameter be set per clause?    I guess I've ignored it in
> > the past aside from setting it once to what seemed like a reasonable
> value.
> > > That is probably replicated across every collection, which cannot be
> > ideal for relevance.
> >
> > It applies to the whole query.  You can have a different value on every
> > query you send.  Just like with other parameters, defaults can be
> > configured in the solrconfig.xml request handler definition.
> >
> > Thanks,
> > Shawn
> >
> >
>

Reply via email to