# Package org.apache.lucene.util.bkd

package org.apache.lucene.util.bkd
Block KD-tree, implementing the generic spatial data structure described in this paper.

Related Packages
Package
Description
org.apache.lucene.util
Some utility classes.
Class
Description
BKDConfig
Basic parameters for indexing points on the BKD tree.
BKDRadixSelector
Offline Radix selector for BKD tree.
BKDRadixSelector.PathSlice
Sliced reference to points in an PointWriter.
BKDReader
Handles reading a block KD-tree in byte[] space previously written with `BKDWriter`.
BKDWriter
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()`.
HeapPointReader
Utility class to read buffered points from in-heap arrays.
HeapPointWriter
Utility class to write new points into in-heap arrays.
MutablePointTreeReaderUtils
Utility APIs for sorting and partitioning buffered points.
OfflinePointReader
Reads points from disk in a fixed-with format, previously written with `OfflinePointWriter`.
OfflinePointWriter
Writes points to disk in a fixed-with format.
PointReader
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.
PointValue
Represents a dimensional point value written in the BKD tree.
PointWriter
Appends many points, and then at the end provides a `PointReader` to iterate those points.