Package org.apache.lucene.codecs.lucene90

# 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 Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `DATA_EXTENSION`
  Filename extension for the leaf blocks
  `static final String`
  `INDEX_EXTENSION`
  Filename extension for the index per field
  `static final String`
  `META_EXTENSION`
  Filename extension for the meta per field

  ### Fields inherited from class org.apache.lucene.codecs.PointsFormat

  `EMPTY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Lucene90PointsFormat()`
  Sole constructor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `PointsReader`
  `fieldsReader(SegmentReadState state)`
  Reads a segment.
  `PointsWriter`
  `fieldsWriter(SegmentWriteState state)`
  Writes a new segment

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### DATA_EXTENSION

    public static final String DATA_EXTENSION
    Filename extension for the leaf blocks
    See Also:
      - Constant Field Values

  - ### INDEX_EXTENSION

    public static final String INDEX_EXTENSION
    Filename extension for the index per field
    See Also:
      - Constant Field Values

  - ### META_EXTENSION

    public static final String META_EXTENSION
    Filename extension for the meta per field
    See Also:
      - Constant Field Values

- ## 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`