Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
New
Description
The FunctionRangeQuery uses FunctionValues.getRangeScorer which returns a subclass of ValueSourceScorer. VSC's TwoPhaseIterator has a matchCost impl that returns a constant 100. This is pretty terrible; the cost should vary based on the complexity of the ValueSource provided to FRQ. ValueSource's are typically nested a number of levels, so they should aggregate.
BTW there is a parallel concern for FunctionMatchQuery which works with DoubleValuesSource which doesn't have a cost either, and unsurprisingly there is a TPI with matchCost 100 there.
Attachments
Issue Links
- is related to
-
LUCENE-9373 Allow FunctionMatchQuery to customize matchCost of TwoPhaseIterator
- Closed
- is required by
-
SOLR-14166 Use TwoPhaseIterator for non-cached filter queries
- Closed
- links to