jpountz commented on code in PR #13454:
URL: https://github.com/apache/lucene/pull/13454#discussion_r1627942880


##########
lucene/core/src/java/org/apache/lucene/search/AbstractMultiTermQueryConstantScoreWrapper.java:
##########
@@ -232,12 +221,24 @@ public ScorerSupplier scorerSupplier(LeafReaderContext 
context) throws IOExcepti
       }
 
       final long cost = estimateCost(terms, q.getTermsCount());
+      final int fieldDocCount = terms.getDocCount();
+      final TermsEnum termsEnum = q.getTermsEnum(terms);
+      assert termsEnum != null;
+
+      final List<TermAndState> collectedTerms = new ArrayList<>();
+      Boolean collectResult = collectTerms(fieldDocCount, termsEnum, 
collectedTerms);
+      if (collectResult == null) {

Review Comment:
   Could you do keep returning a primitive boolean and replace this with `if 
(collectResult && collectedTerms.isEmpty()) { return null; }`?



##########
lucene/core/src/java/org/apache/lucene/search/AbstractMultiTermQueryConstantScoreWrapper.java:
##########
@@ -153,39 +153,28 @@ protected abstract WeightOrDocIdSetIterator rewriteInner(
         List<TermAndState> collectedTerms)
         throws IOException;
 
-    private WeightOrDocIdSetIterator rewrite(LeafReaderContext context, Terms 
terms)

Review Comment:
   I wonder if you could better encapsulate the change you're after by making 
this method return a `IOSupplier<WeightOrDocIdSetIterator>`, where 
`collectTerms` is called when retrieving the IOSupplier, but `rewriteInner` is 
called when calling `IOSupplier#get`.



-- 
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: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

Reply via email to