| 
17 | 17 |  *  | 
18 | 18 |  * Modifications copyright (C) 2024 Elasticsearch B.V.  | 
19 | 19 |  */  | 
20 |  | -package org.elasticsearch.index.codec.vectors;  | 
 | 20 | +package org.elasticsearch.index.codec.vectors.es816;  | 
21 | 21 | 
 
  | 
22 | 22 | import org.apache.lucene.codecs.hnsw.FlatVectorsScorer;  | 
23 | 23 | import org.apache.lucene.index.VectorSimilarityFunction;  | 
 | 
26 | 26 | import org.apache.lucene.util.hnsw.RandomAccessVectorValues;  | 
27 | 27 | import org.apache.lucene.util.hnsw.RandomVectorScorer;  | 
28 | 28 | import org.apache.lucene.util.hnsw.RandomVectorScorerSupplier;  | 
 | 29 | +import org.elasticsearch.index.codec.vectors.BQSpaceUtils;  | 
 | 30 | +import org.elasticsearch.index.codec.vectors.BQVectorUtils;  | 
29 | 31 | import org.elasticsearch.simdvec.ESVectorUtil;  | 
30 | 32 | 
 
  | 
31 | 33 | import java.io.IOException;  | 
 | 
35 | 37 | import static org.apache.lucene.index.VectorSimilarityFunction.MAXIMUM_INNER_PRODUCT;  | 
36 | 38 | 
 
  | 
37 | 39 | /** Vector scorer over binarized vector values */  | 
38 |  | -public class ES816BinaryFlatVectorsScorer implements FlatVectorsScorer {  | 
 | 40 | +class ES816BinaryFlatVectorsScorer implements FlatVectorsScorer {  | 
39 | 41 |     private final FlatVectorsScorer nonQuantizedDelegate;  | 
40 | 42 | 
 
  | 
41 |  | -    public ES816BinaryFlatVectorsScorer(FlatVectorsScorer nonQuantizedDelegate) {  | 
 | 43 | +    ES816BinaryFlatVectorsScorer(FlatVectorsScorer nonQuantizedDelegate) {  | 
42 | 44 |         this.nonQuantizedDelegate = nonQuantizedDelegate;  | 
43 | 45 |     }  | 
44 | 46 | 
 
  | 
@@ -144,18 +146,18 @@ public RandomVectorScorerSupplier copy() throws IOException {  | 
144 | 146 |     }  | 
145 | 147 | 
 
  | 
146 | 148 |     /** A binarized query representing its quantized form along with factors */  | 
147 |  | -    public record BinaryQueryVector(byte[] vector, BinaryQuantizer.QueryFactors factors) {}  | 
 | 149 | +    record BinaryQueryVector(byte[] vector, BinaryQuantizer.QueryFactors factors) {}  | 
148 | 150 | 
 
  | 
149 | 151 |     /** Vector scorer over binarized vector values */  | 
150 |  | -    public static class BinarizedRandomVectorScorer extends RandomVectorScorer.AbstractRandomVectorScorer {  | 
 | 152 | +    static class BinarizedRandomVectorScorer extends RandomVectorScorer.AbstractRandomVectorScorer {  | 
151 | 153 |         private final BinaryQueryVector queryVector;  | 
152 | 154 |         private final RandomAccessBinarizedByteVectorValues targetVectors;  | 
153 | 155 |         private final VectorSimilarityFunction similarityFunction;  | 
154 | 156 | 
 
  | 
155 | 157 |         private final float sqrtDimensions;  | 
156 | 158 |         private final float maxX1;  | 
157 | 159 | 
 
  | 
158 |  | -        public BinarizedRandomVectorScorer(  | 
 | 160 | +        BinarizedRandomVectorScorer(  | 
159 | 161 |             BinaryQueryVector queryVectors,  | 
160 | 162 |             RandomAccessBinarizedByteVectorValues targetVectors,  | 
161 | 163 |             VectorSimilarityFunction similarityFunction  | 
 | 
0 commit comments