|
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.KnnVectorValues; |
|
26 | 26 | import org.apache.lucene.util.VectorUtil; |
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 BinarizedByteVectorValues 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 | BinarizedByteVectorValues targetVectors, |
161 | 163 | VectorSimilarityFunction similarityFunction |
|
0 commit comments