[
https://issues.apache.org/jira/browse/LUCENE-6889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Adrien Grand updated LUCENE-6889:
---------------------------------
Attachment: LUCENE-6889.patch
Here is an updated patch. I did not add MatchNoDocsQuery to the
randomly-generated queries because it makes the IndexSearcher that has
rewriting disabled fail since calling createWeight directly on a
MatchNoDocsQuery fails with an UnsupportedOperationException: "Query does not
implement createWeight".
> BooleanQuery.rewrite could easily optimize some simple cases
> ------------------------------------------------------------
>
> Key: LUCENE-6889
> URL: https://issues.apache.org/jira/browse/LUCENE-6889
> Project: Lucene - Core
> Issue Type: Improvement
> Reporter: Adrien Grand
> Priority: Minor
> Attachments: LUCENE-6889.patch, LUCENE-6889.patch
>
>
> Follow-up of SOLR-8251: APIs and user interfaces sometimes encourage to write
> BooleanQuery instances that are not optimal, for instance a typical case that
> happens often with Solr/Elasticsearch is to send a request that has a
> MatchAllDocsQuery as a query and some filter, which could be executed more
> efficiently by directly wrapping the filter into a ConstantScoreQuery.
> Here are some ideas of rewrite operations that BooleanQuery could perform:
> - remove FILTER clauses when they are also a MUST clause
> - rewrite queries of the form "+*:* #filter" to a ConstantScoreQuery(filter)
> - rewrite to a MatchNoDocsQuery when a clause that is a MUST or FILTER
> clause is also a MUST_NOT clause
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]