|
49 | 49 | import java.util.ArrayList; |
50 | 50 | import java.util.Arrays; |
51 | 51 | import java.util.Collections; |
52 | | -import java.util.HashMap; |
53 | 52 | import java.util.List; |
54 | | -import java.util.Map; |
55 | 53 | import java.util.Objects; |
56 | 54 | import java.util.concurrent.Callable; |
57 | 55 |
|
@@ -162,24 +160,7 @@ public Query rewrite(IndexSearcher indexSearcher) throws IOException { |
162 | 160 | tasks.add(() -> searchLeaf(context, filterWeight, knnCollectorManager, nProbe, Integer.MAX_VALUE)); |
163 | 161 | } |
164 | 162 | } else { |
165 | | - Map<LeafReaderContext, Integer> segmentNProbeMap = new HashMap<>(); |
166 | | - // process segments based on their affinity scores |
167 | | - for (SegmentAffinity affinity : segmentAffinities) { |
168 | | - double score = affinity.affinityScore(); |
169 | | - |
170 | | - // skip segments with very low affinity |
171 | | - if (score < cutoffAffinity) { |
172 | | - continue; |
173 | | - } |
174 | | - |
175 | | - // adjust nProbe based on affinity score, with larger affinity we increase nprobe (and viceversa) |
176 | | - int adjustedNProbe = adjustNProbeForSegment(score, affinityTreshold, maxAdjustments); |
177 | | - |
178 | | - // store the adjusted nProbe value for this segment |
179 | | - segmentNProbeMap.put(affinity.context(), adjustedNProbe); |
180 | | - } |
181 | | - |
182 | | - tasks = new ArrayList<>(segmentNProbeMap.size()); |
| 163 | + tasks = new ArrayList<>(segmentAffinities.size()); |
183 | 164 | double scoreVectorsSum = segmentAffinities.stream() |
184 | 165 | .map(segmentAffinity -> segmentAffinity.affinityScore * segmentAffinity.context.reader().numDocs()) |
185 | 166 | .mapToDouble(Double::doubleValue) |
|
0 commit comments