Class VectorSearchCompression

java.lang.Object
com.azure.search.documents.indexes.models.VectorSearchCompression
All Implemented Interfaces:
com.azure.json.JsonSerializable<VectorSearchCompression>
Direct Known Subclasses:
BinaryQuantizationCompression, ScalarQuantizationCompression

public class VectorSearchCompression extends Object implements com.azure.json.JsonSerializable<VectorSearchCompression>
Contains configuration options specific to the compression method used during indexing or querying.
  • Constructor Details

    • VectorSearchCompression

      public VectorSearchCompression(String compressionName)
      Creates an instance of VectorSearchCompression class.
      Parameters:
      compressionName - the compressionName value to set.
  • Method Details

    • getKind

      public VectorSearchCompressionKind getKind()
      Get the kind property: The name of the kind of compression method being configured for use with vector search.
      Returns:
      the kind value.
    • getCompressionName

      public String getCompressionName()
      Get the compressionName property: The name to associate with this particular configuration.
      Returns:
      the compressionName value.
    • isRerankWithOriginalVectors

      public Boolean isRerankWithOriginalVectors()
      Get the rerankWithOriginalVectors property: If set to true, once the ordered set of results calculated using compressed vectors are obtained, they will be reranked again by recalculating the full-precision similarity scores. This will improve recall at the expense of latency.
      Returns:
      the rerankWithOriginalVectors value.
    • setRerankWithOriginalVectors

      public VectorSearchCompression setRerankWithOriginalVectors(Boolean rerankWithOriginalVectors)
      Set the rerankWithOriginalVectors property: If set to true, once the ordered set of results calculated using compressed vectors are obtained, they will be reranked again by recalculating the full-precision similarity scores. This will improve recall at the expense of latency.
      Parameters:
      rerankWithOriginalVectors - the rerankWithOriginalVectors value to set.
      Returns:
      the VectorSearchCompression object itself.
    • getDefaultOversampling

      public Double getDefaultOversampling()
      Get the defaultOversampling property: Default oversampling factor. Oversampling will internally request more documents (specified by this multiplier) in the initial search. This increases the set of results that will be reranked using recomputed similarity scores from full-precision vectors. Minimum value is 1, meaning no oversampling (1x). This parameter can only be set when rerankWithOriginalVectors is true. Higher values improve recall at the expense of latency.
      Returns:
      the defaultOversampling value.
    • setDefaultOversampling

      public VectorSearchCompression setDefaultOversampling(Double defaultOversampling)
      Set the defaultOversampling property: Default oversampling factor. Oversampling will internally request more documents (specified by this multiplier) in the initial search. This increases the set of results that will be reranked using recomputed similarity scores from full-precision vectors. Minimum value is 1, meaning no oversampling (1x). This parameter can only be set when rerankWithOriginalVectors is true. Higher values improve recall at the expense of latency.
      Parameters:
      defaultOversampling - the defaultOversampling value to set.
      Returns:
      the VectorSearchCompression object itself.
    • getRescoringOptions

      public RescoringOptions getRescoringOptions()
      Get the rescoringOptions property: Contains the options for rescoring.
      Returns:
      the rescoringOptions value.
    • setRescoringOptions

      public VectorSearchCompression setRescoringOptions(RescoringOptions rescoringOptions)
      Set the rescoringOptions property: Contains the options for rescoring.
      Parameters:
      rescoringOptions - the rescoringOptions value to set.
      Returns:
      the VectorSearchCompression object itself.
    • getTruncationDimension

      public Integer getTruncationDimension()
      Get the truncationDimension property: The number of dimensions to truncate the vectors to. Truncating the vectors reduces the size of the vectors and the amount of data that needs to be transferred during search. This can save storage cost and improve search performance at the expense of recall. It should be only used for embeddings trained with Matryoshka Representation Learning (MRL) such as OpenAI text-embedding-3-large (small). The default value is null, which means no truncation.
      Returns:
      the truncationDimension value.
    • setTruncationDimension

      public VectorSearchCompression setTruncationDimension(Integer truncationDimension)
      Set the truncationDimension property: The number of dimensions to truncate the vectors to. Truncating the vectors reduces the size of the vectors and the amount of data that needs to be transferred during search. This can save storage cost and improve search performance at the expense of recall. It should be only used for embeddings trained with Matryoshka Representation Learning (MRL) such as OpenAI text-embedding-3-large (small). The default value is null, which means no truncation.
      Parameters:
      truncationDimension - the truncationDimension value to set.
      Returns:
      the VectorSearchCompression object itself.
    • toJson

      public com.azure.json.JsonWriter toJson(com.azure.json.JsonWriter jsonWriter) throws IOException
      Specified by:
      toJson in interface com.azure.json.JsonSerializable<VectorSearchCompression>
      Throws:
      IOException
    • fromJson

      public static VectorSearchCompression fromJson(com.azure.json.JsonReader jsonReader) throws IOException
      Reads an instance of VectorSearchCompression from the JsonReader.
      Parameters:
      jsonReader - The JsonReader being read.
      Returns:
      An instance of VectorSearchCompression if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
      Throws:
      IllegalStateException - If the deserialized JSON object was missing any required properties.
      IOException - If an error occurs while reading the VectorSearchCompression.