Lucene90PointsFormat

Lucene 9.0 point format, which encodes dimensional values in a block KD-tree structure for fast 1D range and N dimensional shape intersection filtering. See this paper for details.

Data is stored across three files

  • A .kdm file that records metadata about the fields, such as numbers of dimensions or numbers of bytes per dimension.

  • A .kdi file that stores inner nodes of the tree.

  • A .kdd file that stores leaf nodes, where most of the data lives.

See this wiki for detailed data structures of the three files.

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
open override fun fieldsReader(state: SegmentReadState): PointsReader

Reads a segment. NOTE: by the time this call returns, it must hold open any files it will need to use; else, those files may be deleted. Additionally, required files may be deleted during the execution of this call before there is a chance to open them. Under these circumstances an IOException should be thrown by the implementation. IOExceptions are expected and will automatically cause a retry of the segment opening logic with the newly revised segments.

Link copied to clipboard
open override fun fieldsWriter(state: SegmentWriteState): PointsWriter

Writes a new segment