jpountz commented on code in PR #14701:
URL: https://github.com/apache/lucene/pull/14701#discussion_r2104618311
##########
lucene/core/src/java/org/apache/lucene/search/MaxScoreBulkScorer.java:
##########
@@ -394,31 +365,22 @@ void updateMaxWindowScores(int windowMin, int windowMax)
throws IOException {
}
private void scoreNonEssentialClauses(
- LeafCollector collector, int doc, double essentialScore, int
numNonEssentialClauses)
+ LeafCollector collector, DocAndScoreAccBuffer buffer, int
numNonEssentialClauses)
throws IOException {
+ numCandidates += buffer.size;
- ++numCandidates;
-
- double score = essentialScore;
for (int i = numNonEssentialClauses - 1; i >= 0; --i) {
- float maxPossibleScore =
- (float) MathUtil.sumUpperBound(score + maxScoreSums[i],
allScorers.length);
- if (maxPossibleScore < minCompetitiveScore) {
- // Hit is not competitive.
- return;
- }
-
DisiWrapper scorer = allScorers[i];
- if (scorer.doc < doc) {
- scorer.doc = scorer.iterator.advance(doc);
- }
- if (scorer.doc == doc) {
- score += scorer.scorable.score();
- }
+ ScorerUtil.filterCompetitiveHits(
Review Comment:
This shouldn't be needed as this evaluates non-essential clauses, and there
can only be non-essential clauses if minCompetitiveScore > 0. I'll add an
assertion to make this clearer.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]