[ 
https://issues.apache.org/jira/browse/SOLR-3740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jack Krupansky updated SOLR-3740:
---------------------------------

    Fix Version/s: 3.6.2
      Description: 
For a query such as "cat dog (fox bat fish)" with &q.op=AND, the default query 
operator is only set to AND for the top-level query, and not for the 
parenthesize sub-query. This is not documented behavior and rather surprising.

This happens because edismax only simulates the default operator by forcing 
"mm" (minMatch) to 100% for the top-level BooleanQuery alone and never sets the 
default query operator when it invokes the classic Lucene Query parser which in 
turn is performing parsing and query generation for the parenthesized sub-query.

One solution is for edismax to always set the default query operator when 
calling the classic Lucene query parser, or at least when q.op=AND.

  was:
For a query such as "cat dog (fox bat fish)" with &q.op=AND, the default query 
operator is only set to AND for the top-level query, and not for the 
parenthesize sub-query. This is not documented behavior and rather surprising.

This happens because edismax only simulates the default operator by forcing 
"mm" (minMatch) to 100% for the top-level BooleanQuery alone and never sets the 
default query operator when it invokes the classic Lucene Query parser which in 
turn is performing parsing and query generation for the parenthesize sub-query.

One solution is for edismax to always set the default query operator when 
calling the classic Lucene query parser, or at least when q.op=AND.

    
> ExtendedDismaxQParser (edismax) does not obey q.op for parenthesized 
> sub-queries
> --------------------------------------------------------------------------------
>
>                 Key: SOLR-3740
>                 URL: https://issues.apache.org/jira/browse/SOLR-3740
>             Project: Solr
>          Issue Type: Bug
>          Components: query parsers
>    Affects Versions: 3.6.1, 4.0-BETA
>            Reporter: Jack Krupansky
>             Fix For: 4.0, 3.6.2
>
>
> For a query such as "cat dog (fox bat fish)" with &q.op=AND, the default 
> query operator is only set to AND for the top-level query, and not for the 
> parenthesize sub-query. This is not documented behavior and rather surprising.
> This happens because edismax only simulates the default operator by forcing 
> "mm" (minMatch) to 100% for the top-level BooleanQuery alone and never sets 
> the default query operator when it invokes the classic Lucene Query parser 
> which in turn is performing parsing and query generation for the 
> parenthesized sub-query.
> One solution is for edismax to always set the default query operator when 
> calling the classic Lucene query parser, or at least when q.op=AND.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to