You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Jack Krupansky (JIRA)" <ji...@apache.org> on 2016/03/09 23:12:40 UTC

[jira] [Commented] (SOLR-8812) ExtendedDismaxQParser (edismax) ignores Boolean OR when q.op=AND

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

Jack Krupansky commented on SOLR-8812:
--------------------------------------

The difference in the generated query appears to be the "))~2" which indicates a BooleanQuery with a minShouldMatch of 2 which means that both OR/SHOULD terms MUST match, effectively turning SHOULD/OR into MUST/AND.

I'm guessing it was this 5.5 change: SOLR-2649:

{code}
* SOLR-2649: MM ignored in edismax queries with operators.
  (Greg Pendlebury, Jan Høydahl et. al. via Erick Erickson)
{code}

I think q.op=AND simply sets MM=100%, effectively overriding the explicit OR.



> 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
>
> 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-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org