Class Lucene99ScalarQuantizedVectorsFormat

java.lang.Object
org.apache.lucene.codecs.KnnVectorsFormat
org.apache.lucene.codecs.hnsw.FlatVectorsFormat
org.apache.lucene.codecs.lucene99.Lucene99ScalarQuantizedVectorsFormat
All Implemented Interfaces:
NamedSPILoader.NamedSPI

public class Lucene99ScalarQuantizedVectorsFormat extends FlatVectorsFormat
Format supporting vector quantization, storage, and retrieval
WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Field Details

  • Constructor Details

    • Lucene99ScalarQuantizedVectorsFormat

      public Lucene99ScalarQuantizedVectorsFormat()
      Constructs a format using default graph construction parameters
    • Lucene99ScalarQuantizedVectorsFormat

      public Lucene99ScalarQuantizedVectorsFormat(Float confidenceInterval, int bits, boolean compress)
      Constructs a format using the given graph construction parameters.
      Parameters:
      confidenceInterval - the confidenceInterval for scalar quantizing the vectors, when `null` it is calculated based on the vector dimension. When `0`, the quantiles are dynamically determined by sampling many confidence intervals and determining the most accurate pair.
      bits - the number of bits to use for scalar quantization (must be between 1 and 8, inclusive)
      compress - whether to compress the quantized vectors by another 50% when bits=4. If `true`, pairs of (4 bit quantized) dimensions are packed into a single byte. This must be `false` when bits=7. This provides a trade-off of 50% reduction in hot vector memory usage during searching, at some decode speed penalty.
  • Method Details