[ 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