-
Type:
Improvement
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 8.6
-
Component/s: None
-
Labels:None
-
Lucene Fields:New
TermInSetQuery currently iterates through all its prefix-encoded terms in order to build an array to pass back to its visitor when visit() is called. This seems like a waste, particularly when the visitor is not actually consuming the terms (for example, when doing a clause-count check before executing a search). Instead TermInSetQuery should use consumeTermsMatching(), and we should change the signature of this method so that it takes a BytesRunAutomaton supplier to allow for lazy instantiation.
- links to