Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
-
New
Description
The default DocValuesConsumer#mergeSortedField and DocValuesConsumer#mergeSortedSetField implementations create a merged view of the doc values producers to merge. Unfortunately, it doesn't override termsEnum(), whose default implementation of next() increments the ordinal and calls lookupOrd() to retrieve the term. Currently, lookupOrd() doesn't take advantage of its current position, and would seek to the block start and then call next() up to 16 times to go to the desired term. While there are discussions to optimize lookups to take advantage of the current ord (LUCENE-8836), it shouldn't be required for merging to be efficient and we should instead make next() call next() on its sub enums.
Attachments
Issue Links
- links to