@@ -75,16 +75,6 @@ public final class LinearRetrieverBuilder extends CompoundRetrieverBuilder<Linea
7575 private final String query ;
7676 private final ScoreNormalizer normalizer ;
7777
78- private static ScoreNormalizer resolveNormalizer (ScoreNormalizer componentNormalizer , ScoreNormalizer topLevelNormalizer ) {
79- if (componentNormalizer != null ) {
80- return componentNormalizer ;
81- }
82- if (topLevelNormalizer != null ) {
83- return topLevelNormalizer ;
84- }
85- return DEFAULT_NORMALIZER ;
86- }
87-
8878 @ SuppressWarnings ("unchecked" )
8979 static final ConstructingObjectParser <LinearRetrieverBuilder , RetrieverParserContext > PARSER = new ConstructingObjectParser <>(
9080 NAME ,
@@ -133,6 +123,16 @@ private static ScoreNormalizer[] getDefaultNormalizers(List<RetrieverSource> inn
133123 return normalizers ;
134124 }
135125
126+ private static ScoreNormalizer resolveNormalizer (ScoreNormalizer componentNormalizer , ScoreNormalizer topLevelNormalizer ) {
127+ if (componentNormalizer != null ) {
128+ return componentNormalizer ;
129+ }
130+ if (topLevelNormalizer != null ) {
131+ return topLevelNormalizer ;
132+ }
133+ return DEFAULT_NORMALIZER ;
134+ }
135+
136136 public static LinearRetrieverBuilder fromXContent (XContentParser parser , RetrieverParserContext context ) throws IOException {
137137 if (context .clusterSupportsFeature (LINEAR_RETRIEVER_SUPPORTED ) == false ) {
138138 throw new ParsingException (parser .getTokenLocation (), "unknown retriever [" + NAME + "]" );
@@ -341,7 +341,7 @@ protected RetrieverBuilder doRewrite(QueryRewriteContext ctx) {
341341 for (var weightedRetriever : r ) {
342342 retrievers .add (weightedRetriever .retrieverSource ());
343343 weights [index ] = weightedRetriever .weight ();
344- normalizers [index ] = resolveNormalizer ( null , normalizer ) ;
344+ normalizers [index ] = normalizer ;
345345 index ++;
346346 }
347347
@@ -359,7 +359,7 @@ protected RetrieverBuilder doRewrite(QueryRewriteContext ctx) {
359359 Arrays .fill (weights , DEFAULT_WEIGHT );
360360
361361 ScoreNormalizer [] normalizers = new ScoreNormalizer [fieldsInnerRetrievers .size ()];
362- Arrays .fill (normalizers , resolveNormalizer ( null , normalizer ) );
362+ Arrays .fill (normalizers , normalizer );
363363
364364 // TODO: This is a incomplete solution as it does not address other incomplete copy issues
365365 // (such as dropping the retriever name and min score)
0 commit comments