Package org.apache.lucene.util.bkd
Class BKDReader.IndexTree
java.lang.Object
org.apache.lucene.util.bkd.BKDReader.IndexTree
- All Implemented Interfaces:
Cloneable
- Enclosing class:
BKDReader
Used to walk the off-heap index. The format takes advantage of the limited
access pattern to the BKD tree at search time, i.e. starting at the root
node and recursing downwards one child at a time.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final IndexInputprivate final long[]private intprivate final boolean[]private intprivate final int[]private final BytesRefprivate intprivate final int[]private final byte[][]private final byte[][] -
Constructor Summary
ConstructorsModifierConstructorDescription(package private)privateIndexTree(IndexInput in, int nodeID, int level) -
Method Summary
Modifier and TypeMethodDescriptionclone()Clone, but you are not allowed to pop up past the point where the clone happened.longOnly valid after pushLeft or pushRight, not pop!intintReturn the number of leaves below the current node.private intgetNumLeavesSlow(int node) intOnly valid after pushLeft or pushRight, not pop!Only valid after pushLeft or pushRight, not pop!byte[]booleanbooleanvoidpop()voidpushLeft()voidprivate voidreadNodeData(boolean isLeft)
-
Field Details
-
nodeID
private int nodeID -
level
private int level -
splitDim
private int splitDim -
splitPackedValueStack
private final byte[][] splitPackedValueStack -
in
-
leafBlockFPStack
private final long[] leafBlockFPStack -
rightNodePositions
private final int[] rightNodePositions -
splitDims
private final int[] splitDims -
negativeDeltas
private final boolean[] negativeDeltas -
splitValuesStack
private final byte[][] splitValuesStack -
scratch
-
-
Constructor Details
-
IndexTree
IndexTree() -
IndexTree
-
-
Method Details
-
pushLeft
public void pushLeft() -
clone
Clone, but you are not allowed to pop up past the point where the clone happened. -
pushRight
public void pushRight() -
pop
public void pop() -
isLeafNode
public boolean isLeafNode() -
nodeExists
public boolean nodeExists() -
getNodeID
public int getNodeID() -
getSplitPackedValue
public byte[] getSplitPackedValue() -
getSplitDim
public int getSplitDim()Only valid after pushLeft or pushRight, not pop! -
getSplitDimValue
Only valid after pushLeft or pushRight, not pop! -
getLeafBlockFP
public long getLeafBlockFP()Only valid after pushLeft or pushRight, not pop! -
getNumLeaves
public int getNumLeaves()Return the number of leaves below the current node. -
getNumLeavesSlow
private int getNumLeavesSlow(int node) -
readNodeData
private void readNodeData(boolean isLeft)
-