Skip to content

Commit d631243

Browse files
committed
comment
1 parent e8dbdef commit d631243

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

server/src/main/java/org/elasticsearch/search/vectors/AbstractIVFKnnVectorQuery.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ public Query rewrite(IndexSearcher indexSearcher) throws IOException {
195195
double affinityThreshold;
196196

197197
if (stdDev > averageAffinity) {
198-
// adjust calculation when distribution is very skewed (e.g., if (stdDev > averageAffinity) )
198+
// adjust calculation when distribution is very skewed
199199
double minAffinity = Arrays.stream(affinityScores).min().orElse(Double.NaN);
200200
maxAffinity = Arrays.stream(affinityScores).max().orElse(Double.NaN);
201201
double lowerAffinity = (minAffinity + averageAffinity) * 0.5;
@@ -232,6 +232,8 @@ public Query rewrite(IndexSearcher indexSearcher) throws IOException {
232232

233233
// distribute the budget according to : budgetᵢ = total_budget × (affinityᵢ × |vectors|ᵢ) / ∑ (affinityⱼ × |vectors|ⱼ)
234234
int segmentBudget = (int) (totalBudget * (score * segmentAffinity.numVectors) / scoreVectorsSum);
235+
236+
// TODO : should we always grant a min budget for each affine-enough segment
235237
if (segmentBudget > 0) {
236238
tasks.add(
237239
() -> searchLeaf(context, filterWeight, knnCollectorManager, adjustedVisitRatio, Math.max(1, segmentBudget))

0 commit comments

Comments
 (0)