java.lang.Object
org.elasticsearch.simdvec.ES91OSQVectorsScorer
Scorer for quantized vectors stored as an
IndexInput.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final float[]static final intprotected final intprotected static final floatprotected final org.apache.lucene.store.IndexInputThe wrapperIndexInput.protected final intprotected final float[]protected final int[]protected final float[] -
Constructor Summary
ConstructorsConstructorDescriptionES91OSQVectorsScorer(org.apache.lucene.store.IndexInput in, int dimensions) Sole constructor, called by sub-classes. -
Method Summary
Modifier and TypeMethodDescriptionlongquantizeScore(byte[] q) compute the quantize distance between the provided quantized query and the quantized vector that is read from the wrappedIndexInput.voidquantizeScoreBulk(byte[] q, int count, float[] scores) compute the quantize distance between the provided quantized query and the quantized vectors that are read from the wrappedIndexInput.floatscore(float queryLowerInterval, float queryUpperInterval, int queryComponentSum, float queryAdditionalCorrection, org.apache.lucene.index.VectorSimilarityFunction similarityFunction, float centroidDp, float lowerInterval, float upperInterval, int targetComponentSum, float additionalCorrection, float qcDist) Computes the score by applying the necessary corrections to the provided quantized distance.voidscoreBulk(byte[] q, float queryLowerInterval, float queryUpperInterval, int queryComponentSum, float queryAdditionalCorrection, org.apache.lucene.index.VectorSimilarityFunction similarityFunction, float centroidDp, float[] scores) compute the distance between the provided quantized query and the quantized vectors that are read from the wrappedIndexInput.
-
Field Details
-
BULK_SIZE
public static final int BULK_SIZE- See Also:
-
FOUR_BIT_SCALE
protected static final float FOUR_BIT_SCALE- See Also:
-
in
protected final org.apache.lucene.store.IndexInput inThe wrapperIndexInput. -
length
protected final int length -
dimensions
protected final int dimensions -
lowerIntervals
protected final float[] lowerIntervals -
upperIntervals
protected final float[] upperIntervals -
targetComponentSums
protected final int[] targetComponentSums -
additionalCorrections
protected final float[] additionalCorrections
-
-
Constructor Details
-
ES91OSQVectorsScorer
public ES91OSQVectorsScorer(org.apache.lucene.store.IndexInput in, int dimensions) Sole constructor, called by sub-classes.
-
-
Method Details
-
quantizeScore
compute the quantize distance between the provided quantized query and the quantized vector that is read from the wrappedIndexInput.- Throws:
IOException
-
quantizeScoreBulk
compute the quantize distance between the provided quantized query and the quantized vectors that are read from the wrappedIndexInput. The number of quantized vectors to read is determined by {code count} and the results are stored in the providedscoresarray.- Throws:
IOException
-
score
public float score(float queryLowerInterval, float queryUpperInterval, int queryComponentSum, float queryAdditionalCorrection, org.apache.lucene.index.VectorSimilarityFunction similarityFunction, float centroidDp, float lowerInterval, float upperInterval, int targetComponentSum, float additionalCorrection, float qcDist) Computes the score by applying the necessary corrections to the provided quantized distance. -
scoreBulk
public void scoreBulk(byte[] q, float queryLowerInterval, float queryUpperInterval, int queryComponentSum, float queryAdditionalCorrection, org.apache.lucene.index.VectorSimilarityFunction similarityFunction, float centroidDp, float[] scores) throws IOException compute the distance between the provided quantized query and the quantized vectors that are read from the wrappedIndexInput.The number of vectors to score is defined by
BULK_SIZE. The expected format of the input is as follows: First the quantized vectors are read from the input,then all the lower intervals as floats, then all the upper intervals as floats, then all the target component sums as shorts, and finally all the additional corrections as floats.The results are stored in the provided scores array.
- Throws:
IOException
-