Skip to content

Commit d66f5a6

Browse files
committed
Cleanup and optimised the code flow
1 parent 2e121b0 commit d66f5a6

File tree

1 file changed

+4
-11
lines changed

1 file changed

+4
-11
lines changed

x-pack/plugin/rank-rrf/src/main/java/org/elasticsearch/xpack/rank/rrf/RRFRetrieverBuilder.java

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ protected RetrieverBuilder doRewrite(QueryRewriteContext ctx) {
265265
);
266266
}
267267

268-
List<RetrieverBuilder> fieldsInnerRetrievers = MultiFieldsInnerRetrieverUtils.generateInnerRetrievers(
268+
List<RetrieverSource> fieldsInnerRetrievers = MultiFieldsInnerRetrieverUtils.generateInnerRetrievers(
269269
fields,
270270
query,
271271
localIndicesMetadata.values(),
@@ -286,20 +286,13 @@ protected RetrieverBuilder doRewrite(QueryRewriteContext ctx) {
286286
);
287287
}
288288
}
289-
);
289+
).stream().map(RetrieverSource::from).toList();
290290

291291
if (fieldsInnerRetrievers.isEmpty() == false) {
292292
// TODO: This is a incomplete solution as it does not address other incomplete copy issues
293293
// (such as dropping the retriever name and min score)
294-
int size = fieldsInnerRetrievers.size();
295-
List<RetrieverSource> sources = new ArrayList<>(size);
296-
float[] weights = new float[size];
297-
Arrays.fill(weights, RRFRetrieverComponent.DEFAULT_WEIGHT);
298-
for (int i = 0; i < size; i++) {
299-
sources.add(RetrieverSource.from(fieldsInnerRetrievers.get(i)));
300-
weights[i] = RRFRetrieverComponent.DEFAULT_WEIGHT;
301-
}
302-
rewritten = new RRFRetrieverBuilder(sources, null, null, rankWindowSize, rankConstant, weights);
294+
float[] weights = createDefaultWeights(fieldsInnerRetrievers);
295+
rewritten = new RRFRetrieverBuilder(fieldsInnerRetrievers, null, null, rankWindowSize, rankConstant, weights);
303296
rewritten.getPreFilterQueryBuilders().addAll(preFilterQueryBuilders);
304297
} else {
305298
// Inner retriever list can be empty when using an index wildcard pattern that doesn't match any indices

0 commit comments

Comments
 (0)