Skip to content

Commit

Permalink
cache vector values iterators in VectorFieldSources
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Sokolov committed Sep 16, 2024
1 parent 4feecf8 commit abc1713
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import java.util.Map;
import java.util.Objects;
import org.apache.lucene.index.ByteVectorValues;
import org.apache.lucene.index.KnnVectorValues;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.VectorEncoding;
Expand Down Expand Up @@ -63,19 +64,20 @@ protected DocIdSetIterator getVectorIterator() {
}

return new VectorFieldFunction(this) {
KnnVectorValues.DocIndexIterator iterator = vectorValues.iterator();

@Override
public byte[] byteVectorVal(int doc) throws IOException {
if (exists(doc)) {
return vectorValues.vectorValue(vectorValues.iterator().index());
return vectorValues.vectorValue(iterator.index());
} else {
return null;
}
}

@Override
protected DocIdSetIterator getVectorIterator() {
return vectorValues.iterator();
return iterator;
}
};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import java.util.Map;
import java.util.Objects;
import org.apache.lucene.index.FloatVectorValues;
import org.apache.lucene.index.KnnVectorValues;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.VectorEncoding;
Expand Down Expand Up @@ -62,19 +63,20 @@ protected DocIdSetIterator getVectorIterator() {
}

return new VectorFieldFunction(this) {
KnnVectorValues.DocIndexIterator iterator = vectorValues.iterator();

@Override
public float[] floatVectorVal(int doc) throws IOException {
if (exists(doc)) {
return vectorValues.vectorValue(vectorValues.iterator().index());
return vectorValues.vectorValue(iterator.index());
} else {
return null;
}
}

@Override
protected DocIdSetIterator getVectorIterator() {
return vectorValues.iterator();
return iterator;
}
};
}
Expand Down

0 comments on commit abc1713

Please sign in to comment.