[ 
https://issues.apache.org/jira/browse/SOLR-10856?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16062195#comment-16062195
 ] 

Greg Pendlebury commented on SOLR-10856:
----------------------------------------

You are describing exactly what mm is supposed to do. The change made in 
SOLR-2649 was the root cause (deliberately... because of the bug caused by the 
inverse impact boolean operators had on mm), and SOLR-8812 was about choosing 
less disruptive default values when users are not specifying them.

In this case, however you are explicitly requesting mm=100%... and getting 
answers that match. The short answer is don't use mm=100% if you want boolean 
logic. It is not feature compatible.

The longer answer is nasty and would require delving into how boolean operators 
are truly handled by Solr when translated into OCCURS flags. The mm parameter 
operates on the SHOULD OCCUR flags, which is (roughly) what your OR terms are 
translated into.

> ExtendedDismaxQParser (edismax) override OR when mm=100%
> --------------------------------------------------------
>
>                 Key: SOLR-10856
>                 URL: https://issues.apache.org/jira/browse/SOLR-10856
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: query parsers
>    Affects Versions: 5.5, 6.0, 6.6
>            Reporter: Sébastien LECACHEUR
>
> Since Solr 5.5.1, edismax parser override OR (with AND behavior) in queries 
> when mm=100%. This behavior is new from Solr 5.5.1 to 6.6.0.
> Concerned query :
> {code:none}
> curl -s 
> 'http://localhost:8983/solr/mycorename/select?q=type_s%3A(A+OR+C)&wt=json&defType=edismax&mm=100%25&indent=true&debugQuery=true'
> {code}
> 1) Solr 5.4.1 :
> {code:javascript}
>     "rawquerystring":"type_s:(A OR C)",
>     "querystring":"type_s:(A OR C)",
>     "parsedquery":"(+(type_s:A type_s:C))/no_coord",
>     "parsedquery_toString":"+(type_s:A type_s:C)",
>     "explain":{...},
>     "QParser":"ExtendedDismaxQParser",
> {code}
> Returns docs as expected.
> 2) Solr 5.5.1 :
> {code:javascript}
>     "rawquerystring":"type_s:(A OR C)",
>     "querystring":"type_s:(A OR C)",
>     "parsedquery":"(+((type_s:A type_s:C)~2))/no_coord",
>     "parsedquery_toString":"+((type_s:A type_s:C)~2)",
>     "explain":{},
>     "QParser":"ExtendedDismaxQParser",
> {code}
> Returns no results
> 3) Solr 6.6.0 :
> {code:javascript}
>     "rawquerystring":"type_s:(A OR C)",
>     "querystring":"type_s:(A OR C)",
>     "parsedquery":"(+(type_s:A type_s:C)~2)/no_coord",
>     "parsedquery_toString":"+((type_s:A type_s:C)~2)",
>     "explain":{},
>     "QParser":"ExtendedDismaxQParser",
> {code}
> Returns no results
> This bug looks like SOLR-8812 issue.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to