Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions lucene/core/src/test/org/apache/lucene/index/TestKnnGraph.java
Original file line number Diff line number Diff line change
Expand Up @@ -172,9 +172,11 @@ public void testMultipleVectorFields() throws Exception {
int numDoc = atLeast(100);
int[] dims = new int[numVectorFields];
float[][][] values = new float[numVectorFields][][];
FieldType[] fieldTypes = new FieldType[numVectorFields];
for (int field = 0; field < numVectorFields; field++) {
dims[field] = atLeast(3);
values[field] = randomVectors(numDoc, dims[field]);
fieldTypes[field] = KnnVectorField.createFieldType(dims[field], similarityFunction);
}

try (Directory dir = newDirectory();
Expand All @@ -184,8 +186,7 @@ public void testMultipleVectorFields() throws Exception {
for (int field = 0; field < numVectorFields; field++) {
float[] vector = values[field][docID];
if (vector != null) {
FieldType fieldType = KnnVectorField.createFieldType(vector.length, similarityFunction);
doc.add(new KnnVectorField(KNN_GRAPH_FIELD + field, vector, fieldType));
doc.add(new KnnVectorField(KNN_GRAPH_FIELD + field, vector, fieldTypes[field]));
}
}
String idString = Integer.toString(docID);
Expand Down Expand Up @@ -428,15 +429,18 @@ private void assertConsistentGraph(IndexWriter iw, float[][] values, String vect
try (DirectoryReader dr = DirectoryReader.open(iw)) {
for (LeafReaderContext ctx : dr.leaves()) {
LeafReader reader = ctx.reader();
VectorValues vectorValues = reader.getVectorValues(vectorField);
PerFieldKnnVectorsFormat.FieldsReader perFieldReader =
(PerFieldKnnVectorsFormat.FieldsReader) ((CodecReader) reader).getVectorReader();
if (perFieldReader == null) {
continue;
}
Lucene91HnswVectorsReader vectorReader =
(Lucene91HnswVectorsReader) perFieldReader.getFieldReader(vectorField);
if (vectorReader == null) {
continue;
}
KnnGraphValues graphValues = vectorReader.getGraphValues(vectorField);
VectorValues vectorValues = reader.getVectorValues(vectorField);
if (vectorValues == null) {
assert graphValues == null;
continue;
Expand Down