[jira] [Commented] (SOLR-3741) ExtendedDismaxQParser (edismax) does not obey q.op for queries with operators

2018-04-08 Thread Erick Erickson (JIRA)

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

Erick Erickson commented on SOLR-3741:
--

Can this be closed? There's been a lot of changes since this was opened.

> ExtendedDismaxQParser (edismax) does not obey q.op for queries with operators
> -
>
> Key: SOLR-3741
> URL: https://issues.apache.org/jira/browse/SOLR-3741
> Project: Solr
>  Issue Type: Bug
>  Components: query parsers
>Affects Versions: 3.6.1, 4.0-BETA
>Reporter: Jack Krupansky
>Priority: Major
>
> For a query such as "cat dog OR (fox bat fish)" with =AND, the default 
> query operator remains "OR" for the entire 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, but only if 
> there are NO explicit operators present.
> 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 was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org



[jira] [Commented] (SOLR-3741) ExtendedDismaxQParser (edismax) does not obey q.op for queries with operators

2012-08-19 Thread Jack Krupansky (JIRA)

[ 
https://issues.apache.org/jira/browse/SOLR-3741?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13437514#comment-13437514
 ] 

Jack Krupansky commented on SOLR-3741:
--

There is in fact a use case where q.op should be ignored, specifically when the 
+ operator is present at the top-level query. In that case, the user is 
clearly indicating that they want AND/MUST for one or more terms and it is 
easy to see that the user appears to believe that terms without an operator are 
not to be treated the same as terms with the explicit +. So, terms without an 
explicit operator should implicitly be treated as OR/SHOULD.

One could suggest that the presence of the - operator should invoke the same 
treatment, but I assert that: 1) there is nothing about the use of a negative 
term that has implications about any preference for the alternatives for 
positive terms, and 2) it is too easy for a user to take a working query 
without operators and simply add one or more negative terms to try to constrain 
the query without intending to otherwise change the semantics of the query.

So, the rule(s) I propose are:

1. If one or more explicit + operators are present at the top-level query, 
then OR/SHOULD becomes the default operator, overriding q.op and the normal 
default operator given in the code and the request handler.
2. If no explicit + operator is present at the top-level query, q.op is used 
as the default operator.
3. q.op will be passed to the classic Lucene query parser for parsing nested 
and sub-queries and handling of split terms.
4. MinMatch (mm) should be applied if either an explicit + operator is 
present or q.op is OR or is q.op is not present and the code default for q.op 
is OR.


 ExtendedDismaxQParser (edismax) does not obey q.op for queries with operators
 -

 Key: SOLR-3741
 URL: https://issues.apache.org/jira/browse/SOLR-3741
 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 OR (fox bat fish) with q.op=AND, the default 
 query operator remains OR for the entire 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, but only if 
 there are NO explicit operators present.
 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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org