[
https://issues.apache.org/jira/browse/LUCENE-6889?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15003169#comment-15003169
]
Hoss Man commented on LUCENE-6889:
----------------------------------
bq. It works fine because rewrite's contract is that it should be called until
the return value is the same as the provided query...
Ah ... yeah, I totally forgot about that. sorry for the noise.
> 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
>
>
> 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]