[ https://issues.apache.org/jira/browse/SOLR-8812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15219086#comment-15219086 ]
Greg Pendlebury commented on SOLR-8812: --------------------------------------- I am happy to take a look at any issues, since I was involved in SOLR-2649. I need to get a new copy of the code first, but in the interim, can someone confirm that explicitly setting mm to 0 does not fix this? I believe mm defaults to 100%, so that may be the real culprit, as opposed to q.op=AND. Before SOLR-2649 was resolved, setting an OR operator would have caused mm to be ignored. Now it will use the default value unless you set it explicitly. Our production servers are using 5.1 with SOLR-2649 applied, and we have q.op=AND, with perfectly functional OR operators and mm=0%. All of the obvious queries work, including the cases referenced above. >From memory there are a lot of subtle cliffs to fall off here, such as making >sure we are talking about top level clauses and ultimately remembering that >Solr does not use boolean logic... and there are some edge cases where it >simply doesn't work the same way as the occurs flags. SHOULD vs OR is the main >culprit. > ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND > ---------------------------------------------------------------- > > Key: SOLR-8812 > URL: https://issues.apache.org/jira/browse/SOLR-8812 > Project: Solr > Issue Type: Bug > Components: query parsers > Affects Versions: 5.5 > Reporter: Ryan Steinberg > Assignee: Erick Erickson > Priority: Blocker > Fix For: 6.0, 5.5.1 > > Attachments: SOLR-8812.patch > > > The edismax parser ignores Boolean OR in queries when q.op=AND. This behavior > is new to Solr 5.5.0 and an unexpected major change. > Example: > "q": "id:12345 OR zzzzzzzzzz", > "defType": "edismax", > "q.op": "AND", > where "12345" is a known document ID and "zzzzzzzzzz" is a string NOT present > in my data > Version 5.5.0 produces zero results: > "rawquerystring": "id:12345 OR zzzzzzzzzz", > "querystring": "id:12345 OR zzzzzzzzzz", > "parsedquery": "(+((id:12345 > DisjunctionMaxQuery((text:zzzzzzzzzz)))~2))/no_coord", > "parsedquery_toString": "+((id:12345 (text:zzzzzzzzzz))~2)", > "explain": {}, > "QParser": "ExtendedDismaxQParser" > Version 5.4.0 produces one result as expected > "rawquerystring": "id:12345 OR zzzzzzzzzz", > "querystring": "id:12345 OR zzzzzzzzzz", > "parsedquery": "(+(id:12345 > DisjunctionMaxQuery((text:zzzzzzzzzz))))/no_coord", > "parsedquery_toString": "+(id:12345 (text:zzzzzzzzzz))" > "explain": {}, > "QParser": "ExtendedDismaxQParser" -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org