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

Jan Høydahl commented on SOLR-8812:
-----------------------------------

[~gpendleb] looks like you have a good command on the logic and interactions 
here, so feel free to throw up a patch...

bq. IF (the query contains a boolean operator) AND (mm has not been explicitly 
set) THEN (mm = 0%)
In my experience some users may set mm=100% while others achieved the same with 
q.op=AND. Advising users to favor the use of only q.op to get boolean operators 
working makes the distinction hard to explain.

I'm positive to applying a fix that focuses on getting the pure AND/OR 0%/100% 
case fixed (if that could be achieved with your proposed method), and then 
worry about other mm's combined with explicit operators later.

> 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

Reply via email to