Package org.apache.lucene.util.bkd
Class BKDReader
- java.lang.Object
-
- org.apache.lucene.index.PointValues
-
- org.apache.lucene.util.bkd.BKDReader
-
public class BKDReader extends PointValues
Handles reading a block KD-tree in byte[] space previously written withBKDWriter.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classBKDReader.BKDPointTreeprivate static classBKDReader.BKDReaderDocIDSetIteratorReusableDocIdSetIteratorto handle low cardinality leaves.-
Nested classes/interfaces inherited from class org.apache.lucene.index.PointValues
PointValues.IntersectVisitor, PointValues.PointTree, PointValues.Relation
-
-
Field Summary
Fields Modifier and Type Field Description (package private) BKDConfigconfig(package private) intdocCount(package private) IndexInputinprivate booleanisTreeBalanced(package private) byte[]maxPackedValue(package private) longminLeafBlockFP(package private) byte[]minPackedValue(package private) intnumLeaves(package private) IndexInputpackedIndex(package private) longpointCount(package private) intversion-
Fields inherited from class org.apache.lucene.index.PointValues
MAX_DIMENSIONS, MAX_INDEX_DIMENSIONS, MAX_NUM_BYTES
-
-
Constructor Summary
Constructors Constructor Description BKDReader(IndexInput metaIn, IndexInput indexIn, IndexInput dataIn)Caller must pre-seek the providedIndexInputto the index location thatBKDWriter.finish(org.apache.lucene.store.IndexOutput, org.apache.lucene.store.IndexOutput, org.apache.lucene.store.IndexOutput)returned.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetBytesPerDimension()Returns the number of bytes per dimensionintgetDocCount()Returns the total number of documents that have indexed at least one point.byte[]getMaxPackedValue()Returns maximum value for each dimension, packed, or null ifPointValues.size(org.apache.lucene.index.IndexReader, java.lang.String)is0byte[]getMinPackedValue()Returns minimum value for each dimension, packed, or null ifPointValues.size(org.apache.lucene.index.IndexReader, java.lang.String)is0intgetNumDimensions()Returns how many dimensions are represented in the valuesintgetNumIndexDimensions()Returns how many dimensions are used for the indexPointValues.PointTreegetPointTree()Create a newPointValues.PointTreeto navigate the indexprivate booleanisTreeBalanced()longsize()Returns the total number of indexed points across all documents.-
Methods inherited from class org.apache.lucene.index.PointValues
estimateDocCount, estimatePointCount, getDocCount, getMaxPackedValue, getMinPackedValue, intersect, size
-
-
-
-
Field Detail
-
config
final BKDConfig config
-
numLeaves
final int numLeaves
-
in
final IndexInput in
-
minPackedValue
final byte[] minPackedValue
-
maxPackedValue
final byte[] maxPackedValue
-
pointCount
final long pointCount
-
docCount
final int docCount
-
version
final int version
-
minLeafBlockFP
final long minLeafBlockFP
-
packedIndex
final IndexInput packedIndex
-
isTreeBalanced
private final boolean isTreeBalanced
-
-
Constructor Detail
-
BKDReader
public BKDReader(IndexInput metaIn, IndexInput indexIn, IndexInput dataIn) throws java.io.IOException
Caller must pre-seek the providedIndexInputto the index location thatBKDWriter.finish(org.apache.lucene.store.IndexOutput, org.apache.lucene.store.IndexOutput, org.apache.lucene.store.IndexOutput)returned. BKD tree is always stored off-heap.- Throws:
java.io.IOException
-
-
Method Detail
-
isTreeBalanced
private boolean isTreeBalanced() throws java.io.IOException- Throws:
java.io.IOException
-
getPointTree
public PointValues.PointTree getPointTree() throws java.io.IOException
Description copied from class:PointValuesCreate a newPointValues.PointTreeto navigate the index- Specified by:
getPointTreein classPointValues- Throws:
java.io.IOException
-
getMinPackedValue
public byte[] getMinPackedValue()
Description copied from class:PointValuesReturns minimum value for each dimension, packed, or null ifPointValues.size(org.apache.lucene.index.IndexReader, java.lang.String)is0- Specified by:
getMinPackedValuein classPointValues
-
getMaxPackedValue
public byte[] getMaxPackedValue()
Description copied from class:PointValuesReturns maximum value for each dimension, packed, or null ifPointValues.size(org.apache.lucene.index.IndexReader, java.lang.String)is0- Specified by:
getMaxPackedValuein classPointValues
-
getNumDimensions
public int getNumDimensions() throws java.io.IOExceptionDescription copied from class:PointValuesReturns how many dimensions are represented in the values- Specified by:
getNumDimensionsin classPointValues- Throws:
java.io.IOException
-
getNumIndexDimensions
public int getNumIndexDimensions() throws java.io.IOExceptionDescription copied from class:PointValuesReturns how many dimensions are used for the index- Specified by:
getNumIndexDimensionsin classPointValues- Throws:
java.io.IOException
-
getBytesPerDimension
public int getBytesPerDimension() throws java.io.IOExceptionDescription copied from class:PointValuesReturns the number of bytes per dimension- Specified by:
getBytesPerDimensionin classPointValues- Throws:
java.io.IOException
-
size
public long size()
Description copied from class:PointValuesReturns the total number of indexed points across all documents.- Specified by:
sizein classPointValues
-
getDocCount
public int getDocCount()
Description copied from class:PointValuesReturns the total number of documents that have indexed at least one point.- Specified by:
getDocCountin classPointValues
-
-