Class 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.
    • Constructor Detail

      • 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.