Skip to content

Commit d36ada2

Browse files
committed
FIX: Cast rewritten builder in LinearRetrieverBuilder
1 parent e3326e2 commit d36ada2

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

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

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -406,27 +406,32 @@ protected RetrieverBuilder doRewrite(QueryRewriteContext ctx) {
406406
rewritten = new StandardRetrieverBuilder(new MatchNoneQueryBuilder());
407407
}
408408
}
409+
if (rewritten instanceof LinearRetrieverBuilder == false) {
410+
return rewritten;
411+
}
412+
LinearRetrieverBuilder linearRewritten = (LinearRetrieverBuilder) rewritten;
413+
409414
if (normalizer != null) {
410-
ScoreNormalizer[] newNormalizers = new ScoreNormalizer[normalizers.length];
415+
ScoreNormalizer[] newNormalizers = new ScoreNormalizer[linearRewritten.normalizers.length];
411416
Arrays.fill(newNormalizers, normalizer);
412417
rewritten = new LinearRetrieverBuilder(
413-
rewritten.innerRetrievers,
414-
rewritten.fields,
415-
rewritten.query,
418+
linearRewritten.innerRetrievers,
419+
linearRewritten.fields,
420+
linearRewritten.query,
416421
null,
417-
rewritten.rankWindowSize,
418-
rewritten.weights,
422+
linearRewritten.rankWindowSize,
423+
linearRewritten.weights,
419424
newNormalizers
420425
);
421426
} else {
422427
rewritten = new LinearRetrieverBuilder(
423-
rewritten.innerRetrievers,
424-
rewritten.fields,
425-
rewritten.query,
426-
rewritten.normalizer,
427-
rewritten.rankWindowSize,
428-
rewritten.weights,
429-
rewritten.normalizers
428+
linearRewritten.innerRetrievers,
429+
linearRewritten.fields,
430+
linearRewritten.query,
431+
linearRewritten.normalizer,
432+
linearRewritten.rankWindowSize,
433+
linearRewritten.weights,
434+
linearRewritten.normalizers
430435
);
431436
}
432437

0 commit comments

Comments
 (0)