abiesps commented on issue #15197:
URL: https://github.com/apache/lucene/issues/15197#issuecomment-3314182922
Another thing that I realised, especially relevant for early termination is
:
leafNode may not always exactly match thats why we have two functions in
BKDReader visitDocIDs and visitDocValues. visitDocValues is the case where leaf
node may not match in case of more than one dimension in BKD tree. And we know
for sure by actually reading the leaf Node (I/O). Whereas in case of
visitDocIDs, all document in the leaf always matches the range in the query.
If we don't want early termination - then prefetching leaf nodes from both
kind of matches is fine, otherwise we can keep on incrementing match count only
in case of "r == PointValues.Relation.CELL_INSIDE_QUERY". With this we may do
some wasteful traversal of BKD tree but saving on doing IO in query path
(through prefetching leaf nodes).
With above consideration, let me explore more on this and raise a draft PR
in couple of days or so.
--
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]