dsmiley commented on a change in pull request #1343: LUCENE-8103: Use two-phase iteration in Query- and DoubleValuesSource URL: https://github.com/apache/lucene-solr/pull/1343#discussion_r392383623
########## File path: lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/QueryValueSource.java ########## @@ -156,42 +135,38 @@ public float floatVal(int doc) { @Override public boolean exists(int doc) { try { - if (doc < lastDocRequested) { - if (noMatches) return false; + if (noMatches) return false; + if (scorer == null) { scorer = weight.scorer(readerContext); - scorerDoc = -1; - if (scorer==null) { + if (scorer == null) { noMatches = true; return false; } - it = scorer.iterator(); + tpi = scorer.twoPhaseIterator(); + disi = tpi==null ? scorer.iterator() : tpi.approximation(); + thisDocMatches = false; Review comment: You should set thisDocMatches to null because at this point you do not know if there is a match. ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org