Interface VectorEncodingConfig

All Known Implementing Classes:
Config, Config

public interface VectorEncodingConfig
The minimal vector-encoding configuration shared by the HNSW and Guardiann configs: the metric, the number of dimensions, and the RaBitQ encoding parameters needed to (de)serialize stored vectors.
  • Method Summary

    Modifier and Type
    Method
    Description
    The metric that is used to determine distances between vectors.
    int
    The number of dimensions used.
    int
    Number of bits per dimensions iff useRaBitQ() is set to true, ignored otherwise.
    boolean
     
  • Method Details

    • metric

      @Nonnull Metric metric()
      The metric that is used to determine distances between vectors.
    • numDimensions

      int numDimensions()
      The number of dimensions used. All vectors must have exactly this number of dimensions.
    • useRaBitQ

      boolean useRaBitQ()
    • raBitQNumExBits

      int raBitQNumExBits()
      Number of bits per dimensions iff useRaBitQ() is set to true, ignored otherwise. If RaBitQ encoding is used, a vector is stored using roughly 25 + numDimensions * (numExBits + 1) / 8 bytes.