Class Lucene90PointsFormat

java.lang.Object
org.apache.lucene.codecs.PointsFormat
org.apache.lucene.codecs.lucene90.Lucene90PointsFormat

public final class Lucene90PointsFormat extends PointsFormat
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.
WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Field Details

  • Constructor Details

    • Lucene90PointsFormat

      public Lucene90PointsFormat()
      Sole constructor
  • Method Details

    • fieldsWriter

      public PointsWriter fieldsWriter(SegmentWriteState state) throws IOException
      Description copied from class: PointsFormat
      Writes a new segment
      Specified by:
      fieldsWriter in class PointsFormat
      Throws:
      IOException
    • fieldsReader

      public PointsReader fieldsReader(SegmentReadState state) throws IOException
      Description copied from class: PointsFormat
      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.
      Specified by:
      fieldsReader in class PointsFormat
      Throws:
      IOException