iverase commented on PR #15376: URL: https://github.com/apache/lucene/pull/15376#issuecomment-3540376757
I have been thinking in this change and I think the approach makes too many assumptions about how points are implemented under the hood. In general, I don't think prefetching belongs to this API The PointValues API is a [cursor-style API](https://github.com/apache/lucene/issues/10659). It allows to navigate a tree-like structure and apply some operations on the nodes the "cursor" is positioned. This PR is introducing the concept of apply those operations on a node when we are positioned on a different node via `visitDocIDs(long pos, IntersectVisitor visitor)`. This introduced position does not belong to the current API. The TwoPhaseIntersectVisitor introduces even more stuff. In general, if you want to introduce something like that, you need to propose a new API for the PointTree trying to bre as agnostic as possible from the current implementations and reason the need for it. IMHO, prefetching is an implementation detail of the BKD tree and most of the changes should be in that area while the changes to the PointValues API should be minimal. -- 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]
