Skip to content

Commit 6d6fc66

Browse files
authored
Delegate xorBitCount to Lucene (#114249)
Now that we're on Lucene 9.12 we don't need our own optimized xorBitCount, can just delegate to Lucene's optimized one (which is identical).
1 parent 2a0d5ff commit 6d6fc66

File tree

4 files changed

+4
-77
lines changed

4 files changed

+4
-77
lines changed

server/src/main/java/org/elasticsearch/index/codec/vectors/ES815BitFlatVectorsFormat.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717
import org.apache.lucene.index.SegmentReadState;
1818
import org.apache.lucene.index.SegmentWriteState;
1919
import org.apache.lucene.index.VectorSimilarityFunction;
20+
import org.apache.lucene.util.VectorUtil;
2021
import org.apache.lucene.util.hnsw.RandomAccessVectorValues;
2122
import org.apache.lucene.util.hnsw.RandomVectorScorer;
2223
import org.apache.lucene.util.hnsw.RandomVectorScorerSupplier;
2324
import org.apache.lucene.util.quantization.RandomAccessQuantizedByteVectorValues;
24-
import org.elasticsearch.script.field.vectors.ESVectorUtil;
2525

2626
import java.io.IOException;
2727

@@ -105,7 +105,7 @@ public RandomVectorScorer getRandomVectorScorer(
105105
}
106106

107107
static float hammingScore(byte[] a, byte[] b) {
108-
return ((a.length * Byte.SIZE) - ESVectorUtil.xorBitCount(a, b)) / (float) (a.length * Byte.SIZE);
108+
return ((a.length * Byte.SIZE) - VectorUtil.xorBitCount(a, b)) / (float) (a.length * Byte.SIZE);
109109
}
110110

111111
static class HammingVectorScorer extends RandomVectorScorer.AbstractRandomVectorScorer {

server/src/main/java/org/elasticsearch/script/field/vectors/ByteBinaryDenseVector.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public double l1Norm(List<Number> queryVector) {
103103

104104
@Override
105105
public int hamming(byte[] queryVector) {
106-
return ESVectorUtil.xorBitCount(queryVector, vectorValue);
106+
return VectorUtil.xorBitCount(queryVector, vectorValue);
107107
}
108108

109109
@Override

server/src/main/java/org/elasticsearch/script/field/vectors/ByteKnnDenseVector.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public double l1Norm(List<Number> queryVector) {
104104

105105
@Override
106106
public int hamming(byte[] queryVector) {
107-
return ESVectorUtil.xorBitCount(queryVector, docVector);
107+
return VectorUtil.xorBitCount(queryVector, docVector);
108108
}
109109

110110
@Override

server/src/main/java/org/elasticsearch/script/field/vectors/ESVectorUtil.java

Lines changed: 0 additions & 73 deletions
This file was deleted.

0 commit comments

Comments
 (0)