diff --git a/lucene/core/src/java/org/apache/lucene/codecs/hnsw/DefaultFlatVectorScorer.java b/lucene/core/src/java/org/apache/lucene/codecs/hnsw/DefaultFlatVectorScorer.java index 3f07abcef803..f26244c433c8 100644 --- a/lucene/core/src/java/org/apache/lucene/codecs/hnsw/DefaultFlatVectorScorer.java +++ b/lucene/core/src/java/org/apache/lucene/codecs/hnsw/DefaultFlatVectorScorer.java @@ -100,12 +100,12 @@ private ByteScoringSupplier( @Override public RandomVectorScorer scorer(int ord) throws IOException { - ByteVectorValues.Bytes vectors1 = vectorValues.vectors(); - ByteVectorValues.Bytes vectors2 = vectorValues.vectors(); + byte[] query = vectorValues.vectors().get(ord); + ByteVectorValues.Bytes vectors = vectorValues.vectors(); return new RandomVectorScorer.AbstractRandomVectorScorer(vectorValues) { @Override public float score(int node) throws IOException { - return similarityFunction.compare(vectors1.get(ord), vectors2.get(node)); + return similarityFunction.compare(query, vectors.get(node)); } }; } @@ -130,12 +130,12 @@ private FloatScoringSupplier( @Override public RandomVectorScorer scorer(int ord) throws IOException { - FloatVectorValues.Floats vectors1 = vectorValues.vectors(); - FloatVectorValues.Floats vectors2 = vectorValues.vectors(); + float[] query = vectorValues.vectors().get(ord); + FloatVectorValues.Floats vectors = vectorValues.vectors(); return new RandomVectorScorer.AbstractRandomVectorScorer(vectorValues) { @Override public float score(int node) throws IOException { - return similarityFunction.compare(vectors1.get(ord), vectors2.get(node)); + return similarityFunction.compare(query, vectors.get(node)); } }; } diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene99/Lucene99ScalarQuantizedVectorScorer.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene99/Lucene99ScalarQuantizedVectorScorer.java index d1491115d4e6..2be5d274e6b6 100644 --- a/lucene/core/src/java/org/apache/lucene/codecs/lucene99/Lucene99ScalarQuantizedVectorScorer.java +++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene99/Lucene99ScalarQuantizedVectorScorer.java @@ -280,18 +280,17 @@ private static final class ScalarQuantizedRandomVectorScorerSupplier private final VectorSimilarityFunction vectorSimilarityFunction; private final QuantizedByteVectorValues vectorValues; - private final QuantizedByteVectorValues.QuantizedBytes vectors; public ScalarQuantizedRandomVectorScorerSupplier( QuantizedByteVectorValues vectorValues, VectorSimilarityFunction vectorSimilarityFunction) throws IOException { this.vectorValues = vectorValues; - this.vectors = vectorValues.vectors(); this.vectorSimilarityFunction = vectorSimilarityFunction; } @Override public RandomVectorScorer scorer(int ord) throws IOException { + QuantizedByteVectorValues.QuantizedBytes vectors = vectorValues.vectors(); byte[] vectorValue = vectors.get(ord); float offsetCorrection = vectors.getScoreCorrectionConstant(ord); return fromVectorSimilarity(