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]

Reply via email to