[ 
https://issues.apache.org/jira/browse/LUCENE-10418?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17490053#comment-17490053
 ] 

Adrien Grand commented on LUCENE-10418:
---------------------------------------

I initially thought of adding a `boolean needsScores` parameter to 
{{Query#rewrite}} to address this case, but non-scoring optimizations are 
mostly applicable to ConstantScoreQuery, BoostQuery and BooleanQuery so I gave 
a try at an approach that only specializes rewriting for these queries while 
keeping the existing API.

> Improve Query rewriting for non-scoring clauses
> -----------------------------------------------
>
>                 Key: LUCENE-10418
>                 URL: https://issues.apache.org/jira/browse/LUCENE-10418
>             Project: Lucene - Core
>          Issue Type: Task
>            Reporter: Adrien Grand
>            Priority: Minor
>
> Query rewriting is occasionally important for performance, e.g. it may allow 
> using an optimized bulk scorer instead of the default bulk scorer like in the 
> example from LUCENE-10412.
> One case when we could simplify queries is in the non-scoring case. All 
> layers of query wrappers that only affect scoring like BoostQuery and 
> ConstantScore query can be removed, which might help identify new 
> opportunities for rewriting. For instance, we have several rewrite rules that 
> optimize for MatchAllDocsQuery and would fail to recognize it if it is behind 
> a ConstantScoreQuery or a BoostQuery. Boolean queries can also simplify 
> themselves in the non-scoring case, by changing MUST clauses to FILTER 
> clauses, or removing fully optional SHOULD clauses.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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

Reply via email to