@@ -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