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: [email protected]
For additional commands, e-mail: [email protected]