Package-level declarations

Types

Link copied to clipboard
data class BKDConfig(val numDims: Int, val numIndexDims: Int, val bytesPerDim: Int, val maxPointsInLeafNode: Int)

Basic parameters for indexing points on the BKD tree.

Link copied to clipboard
class BKDRadixSelector(config: BKDConfig, maxPointsSortInHeap: Int, tempDir: Directory, tempFileNamePrefix: String)

Offline Radix selector for BKD tree.

Link copied to clipboard
class BKDReader(metaIn: IndexInput, indexIn: IndexInput, dataIn: IndexInput) : PointValues

Handles reading a block KD-tree in byte[] space previously written with BKDWriter.

Link copied to clipboard
open class BKDWriter(maxDoc: Int, tempDir: Directory, tempFileNamePrefix: String, config: BKDConfig, maxMBSortInHeap: Double, totalPointCount: Long) : AutoCloseable

Recursively builds a block KD-tree to assign all incoming points in N-dim space to smaller and smaller N-dim rectangles (cells) until the number of points in a given rectangle is <= config.maxPointsInLeafNode. The tree is partially balanced, which means the leaf nodes will have the requested config.maxPointsInLeafNode except one that might have less. Leaf nodes may straddle the two bottom levels of the binary tree. Values that fall exactly on a cell boundary may be in either cell.

Link copied to clipboard

Utility class to read buffered points from in-heap arrays.

Link copied to clipboard
class HeapPointWriter(config: BKDConfig, val size: Int) : PointWriter

Utility class to write new points into in-heap arrays.

Link copied to clipboard

Utility APIs for sorting and partitioning buffered points.

Link copied to clipboard
class OfflinePointReader(config: BKDConfig, tempDir: Directory, tempFileName: String, start: Long, length: Long, reusableBuffer: ByteArray) : PointReader

Reads points from disk in a fixed-with format, previously written with [ ].

Link copied to clipboard
open class OfflinePointWriter(val config: BKDConfig, val tempDir: Directory, tempFileNamePrefix: String, desc: String, val expectedCount: Long) : PointWriter

Writes points to disk in a fixed-with format.

Link copied to clipboard

One pass iterator through all points previously written with a PointWriter, abstracting away whether points are read from (offline) disk or simple arrays in heap.

Link copied to clipboard
interface PointValue

Represents a dimensional point value written in the BKD tree.

Link copied to clipboard

Appends many points, and then at the end provides a PointReader to iterate those points. This abstracts away whether we write to disk, or use simple arrays in heap.