Skip to content

Commit 337e17d

Browse files
committed
Copy pre-filters during RRF retriever rewrite
1 parent d2c439f commit 337e17d

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,10 @@ protected RetrieverBuilder doRewrite(QueryRewriteContext ctx) {
250250
).stream().map(RetrieverSource::from).toList();
251251

252252
if (fieldsInnerRetrievers.isEmpty() == false) {
253+
// TODO: This is a incomplete solution as it does not address other incomplete copy issues
254+
// (such as dropping the retriever name and min score)
253255
rewritten = new RRFRetrieverBuilder(fieldsInnerRetrievers, rankWindowSize, rankConstant);
256+
rewritten.getPreFilterQueryBuilders().addAll(preFilterQueryBuilders);
254257
} else {
255258
// Inner retriever list can be empty when using an index wildcard pattern that doesn't match any indices
256259
rewritten = new StandardRetrieverBuilder(new MatchNoneQueryBuilder());

0 commit comments

Comments
 (0)