stefanvodita commented on issue #11547: URL: https://github.com/apache/lucene/issues/11547#issuecomment-1540554539
I’m curious about this suggestion and I’d like to understand it better. How could `ConjunctionUtils` tell if an iterator was going to be an “all” iterator? It couldn’t use cost in the general case because cost is not exact in the general case. We also couldn’t label “all” iterators on creation to have them handled separately because they could be advanced before getting passed to `intersectIterators` and then they would not act as an “all” iterator, right? If instead we consider changing the callers of `intersectIterators` to be smarter, I looked through places in the code where the method is called. I didn’t find the particular instance that @LuXugang was [referring](https://github.com/apache/lucene/issues/11547#issue-1348299158) to, but there are plenty of instances where at least one of the iterators is a DocValues. In that case, how does Lucene guarantee that it will have exact cost? Could we have a DocValues implementation that doesn’t? -- 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]
