[ 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