Skip to content

Commit e3fd3be

Browse files
committed
fix minor bug in construction
Signed-off-by: Samuel Herman <sherman8915@gmail.com>
1 parent 6401d6c commit e3fd3be

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

benchmarks-jmh/src/main/java/io/github/jbellis/jvector/bench/RecallWithRandomVectorsBenchmark.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -247,11 +247,8 @@ private double calculateRecall(Set<Integer> predicted, int[] groundTruth, int k)
247247
int actualK = Math.min(k, Math.min(predicted.size(), groundTruth.length));
248248

249249
for (int i = 0; i < actualK; i++) {
250-
for (int j = 0; j < actualK; j++) {
251-
if (predicted.contains(groundTruth[j])) {
252-
hits++;
253-
break;
254-
}
250+
if (predicted.contains(groundTruth[i])) {
251+
hits++;
255252
}
256253
}
257254

jvector-base/src/main/java/io/github/jbellis/jvector/graph/GraphIndexBuilder.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -439,12 +439,17 @@ public static GraphIndexBuilder rescore(GraphIndexBuilder other, BuildScoreProvi
439439
}
440440

441441
public ImmutableGraphIndex build(RandomAccessVectorValues ravv) {
442+
return build(ravv, null);
443+
}
444+
445+
public ImmutableGraphIndex build(RandomAccessVectorValues ravv, int[] graphToRavvOrdMap) {
442446
var vv = ravv.threadLocalSupplier();
443447
int size = ravv.size();
444448

445449
simdExecutor.submit(() -> {
446450
IntStream.range(0, size).parallel().forEach(node -> {
447-
addGraphNode(node, vv.get().getVector(node));
451+
int ravvOrdinal = (graphToRavvOrdMap != null) ? graphToRavvOrdMap[node] : node;
452+
addGraphNode(node, vv.get().getVector(ravvOrdinal));
448453
});
449454
}).join();
450455

0 commit comments

Comments
 (0)