[
https://issues.apache.org/jira/browse/LUCENE-8204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16558269#comment-16558269
]
Adrien Grand commented on LUCENE-8204:
--------------------------------------
The benchmark numbers look great! Some comments on the patch:
* Could we somehow merge optIsRequiredBlock and optIsRequiredSegment to have
fewer variables to take care of? For instance could we somehow set
upTo=NO_MORE_DOCS so that optIsRequiredBlock=true's effect lasts til the end of
the segment instead of optIsRequiredSegment?
* advanceTarget does {{target = reqApproximation.advance(upTo + 1)}} and then
{{moveToNextBlock(target)}}. Should we just do {{target = upTo+1}} to avoid
reading postings? There might not be any matches in the next block and calling
advance() forces the postings reader to decompress the block, while I would
expect advanceTarget() to only advance the target based on impacts?
* advanceShallow should check that optScorer.docID() is less than or equal to
target before calling advanceShallow on it?
> ReqOptSumScorer should leverage sub scorers' per-block max scores
> -----------------------------------------------------------------
>
> Key: LUCENE-8204
> URL: https://issues.apache.org/jira/browse/LUCENE-8204
> Project: Lucene - Core
> Issue Type: Improvement
> Reporter: Adrien Grand
> Priority: Minor
> Attachments: LUCENE-8204.patch
>
>
> Currently it only looks at max scores on the entire segment. Given that
> per-block max scores usually give lower upper bounds of the score, this
> should help.
> This is especially important for LUCENE-8197 to work well since the main
> query would typically be added as a MUST clauses of a boolean query while the
> query that scores on features would be a SHOULD clause.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]