Details
-
Task
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
-
New
Description
Lucene60PointsWriter stores both inner nodes and leaf nodes in the same file, interleaved. For instance if you have two fields, you would have <leaf_nodes_A, inner_nodes_A, leaf_nodes_B, inner_nodes_B>. It's not ideal since leaves and inner nodes have quite different access patterns. Should we split this into two files? In the case when the BKD index is off-heap, this would also help force it into RAM with MMapDirectory#setPreload.
Note that Lucene60PointsFormat already has a file that it calls "index" but it's really only about mapping fields to file pointers in the other file and not what I'm discussing here. But we could possibly store the BKD indices in this existing file if we want to avoid creating a new one.
Attachments
Issue Links
- links to