romseygeek opened a new issue, #15674: URL: https://github.com/apache/lucene/issues/15674
TermOrdValLeafComparator currently uses DocValuesRangeIterator to implement competitive iterators over DocValuesSkippers. This works well if the doc values field in question correlates with the index sort, but for randomly distributed or negatively correlated field values, DocValuesRangeIterator essentially becomes a doc-by-doc check, providing no skipping functionality at all and in the worst cases duplicating the work of the parent comparator. DocValuesRangeIterator also has no way of providing an efficient `docIdRunEnd()` or `intoBitSet()` implementation, so using it as a competitive iterator can force bulk scorers into slower code paths. We should replace the use of DocValuesRangeIterator in TermOrdValLeafComparator with SkipBlockRangeIterator (along the lines of #15632), and adjust the sorting tests so that they create indexes where a skipper will be useful for sorted queries. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
