Skip to content

Commit bb7c260

Browse files
committed
FloatVectorValues have a different interface in this Lucene version
1 parent 81837fb commit bb7c260

File tree

2 files changed

+7
-9
lines changed

2 files changed

+7
-9
lines changed

server/src/main/java/org/elasticsearch/index/mapper/vectors/VectorSimilarityFloatValueSource.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
package org.elasticsearch.index.mapper.vectors;
1111

1212
import org.apache.lucene.index.FloatVectorValues;
13-
import org.apache.lucene.index.KnnVectorValues;
1413
import org.apache.lucene.index.LeafReader;
1514
import org.apache.lucene.index.LeafReaderContext;
1615
import org.apache.lucene.index.VectorSimilarityFunction;
@@ -47,18 +46,19 @@ public DoubleValues getValues(LeafReaderContext ctx, DoubleValues scores) throws
4746
final LeafReader reader = ctx.reader();
4847

4948
FloatVectorValues vectorValues = reader.getFloatVectorValues(field);
50-
final KnnVectorValues.DocIndexIterator iterator = vectorValues.iterator();
5149

5250
return new DoubleValues() {
5351
@Override
5452
public double doubleValue() throws IOException {
5553
vectorOpsCount++;
56-
return vectorSimilarityFunction.compare(target, vectorValues.vectorValue(iterator.index()));
54+
return vectorSimilarityFunction.compare(target, vectorValues.vectorValue());
5755
}
5856

5957
@Override
6058
public boolean advanceExact(int doc) throws IOException {
61-
return doc >= iterator.docID() && iterator.docID() != DocIdSetIterator.NO_MORE_DOCS && iterator.advance(doc) == doc;
59+
return doc >= vectorValues.docID()
60+
&& vectorValues.docID() != DocIdSetIterator.NO_MORE_DOCS
61+
&& vectorValues.advance(doc) == doc;
6262
}
6363
};
6464
}

server/src/test/java/org/elasticsearch/search/vectors/RescoreKnnVectorQueryTests.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import org.apache.lucene.index.FloatVectorValues;
1818
import org.apache.lucene.index.IndexReader;
1919
import org.apache.lucene.index.IndexWriter;
20-
import org.apache.lucene.index.KnnVectorValues;
2120
import org.apache.lucene.index.LeafReaderContext;
2221
import org.apache.lucene.index.VectorSimilarityFunction;
2322
import org.apache.lucene.search.IndexSearcher;
@@ -95,12 +94,11 @@ public void testRescoreDocs() throws Exception {
9594

9695
for (LeafReaderContext leafReaderContext : reader.leaves()) {
9796
FloatVectorValues vectorValues = leafReaderContext.reader().getFloatVectorValues(FIELD_NAME);
98-
KnnVectorValues.DocIndexIterator iterator = vectorValues.iterator();
99-
while (iterator.nextDoc() != NO_MORE_DOCS) {
100-
float[] vectorData = vectorValues.vectorValue(iterator.docID());
97+
while (vectorValues.nextDoc() != NO_MORE_DOCS) {
98+
float[] vectorData = vectorValues.vectorValue();
10199
float score = VectorSimilarityFunction.COSINE.compare(queryVector, vectorData);
102100
topK.add(score);
103-
int docId = iterator.docID();
101+
int docId = vectorValues.docID();
104102
// If the doc has been retrieved from the RescoreKnnVectorQuery, check the score is the same and remove it
105103
// to ensure we found them all
106104
if (rescoredDocs.containsKey(docId)) {

0 commit comments

Comments
 (0)