Move handling of query only containing MUST_NOT to QueryParser (and remove 
QueryUtils.makeQueryable() hack in Solr)
-------------------------------------------------------------------------------------------------------------------

                 Key: LUCENE-3460
                 URL: https://issues.apache.org/jira/browse/LUCENE-3460
             Project: Lucene - Java
          Issue Type: Sub-task
          Components: core/queryparser
    Affects Versions: 3.4, 4.0
            Reporter: Uwe Schindler
            Assignee: Uwe Schindler


With the parent issue, users entering (a -b) into the queryparser can simply 
fail with an UnsupportedOperationException, if "a" is a stopword.

Solr already has a hack to add a MatchAllDocsQuery, if a query only contains 
prohibited clauses.

The other issue (not affecting prohibited clauses) with stopwords is: If the 
user enters (a the) into queryparser, the query will return no results, as "a" 
and "the" are stopwords. This confuses lots of people (not only developers, 
even ordinary users of our interfaces). If somebody queries for a stopword, the 
correct way to handle this is to return *all* documents (MatchAllDocsQuery).

I propose to add a flag to QueryParser to enable a "no-should-or-must-clauses" 
mode, where this is replaced by MatchAllDocs automatically. This would also 
solve the prohibited clause case, too.

Changing this in QueryParser is the more correct solution than doing this 
hidden in BQ.

--
This message is automatically generated by JIRA.
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

Reply via email to