diff options
3 files changed, 8 insertions, 13 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java b/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java index 9d6a1351724..b7e1f9d4538 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java @@ -768,16 +768,13 @@ public class RankProfile implements Serializable, Cloneable { Map<String, Macro> inlineMacros, ExpressionTransforms expressionTransforms) { if (expression == null) return null; - Map<String, String> rankPropertiesOutput = new HashMap<>(); - RankProfileTransformContext context = new RankProfileTransformContext(this, queryProfiles, importedModels, constants, - inlineMacros, - rankPropertiesOutput); + inlineMacros); expression = expressionTransforms.transform(expression, context); - for (Map.Entry<String, String> rankProperty : rankPropertiesOutput.entrySet()) { + for (Map.Entry<String, String> rankProperty : context.rankProperties().entrySet()) { addRankProperty(rankProperty.getKey(), rankProperty.getValue()); } return expression; diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/ConstantTensorTransformer.java b/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/ConstantTensorTransformer.java index ee38c518d6b..eb76446c045 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/ConstantTensorTransformer.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/ConstantTensorTransformer.java @@ -2,7 +2,6 @@ package com.yahoo.searchdefinition.expressiontransforms; import com.yahoo.searchdefinition.FeatureNames; -import com.yahoo.searchdefinition.MapEvaluationTypeContext; import com.yahoo.searchlib.rankingexpression.evaluation.TensorValue; import com.yahoo.searchlib.rankingexpression.evaluation.Value; import com.yahoo.searchlib.rankingexpression.rule.CompositeNode; @@ -60,8 +59,8 @@ public class ConstantTensorTransformer extends ExpressionTransformer<RankProfile TensorValue tensorValue = (TensorValue)value; String featureName = CONSTANT + "(" + node.getName() + ")"; String tensorType = tensorValue.asTensor().type().toString(); - context.rankPropertiesOutput().put(featureName + ".value", tensorValue.toString()); - context.rankPropertiesOutput().put(featureName + ".type", tensorType); + context.rankProperties().put(featureName + ".value", tensorValue.toString()); + context.rankProperties().put(featureName + ".type", tensorType); // TODO: This allows us to reference constant "a" as "a" instead of "constant(a)", but we shouldn't allow that return new ReferenceNode(CONSTANT, Arrays.asList(new NameNode(node.getName())), null); } diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/RankProfileTransformContext.java b/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/RankProfileTransformContext.java index c7b4e85d74e..9abaaca84a3 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/RankProfileTransformContext.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/expressiontransforms/RankProfileTransformContext.java @@ -7,6 +7,7 @@ import com.yahoo.searchlib.rankingexpression.evaluation.Value; import com.yahoo.searchlib.rankingexpression.integration.ml.ImportedModels; import com.yahoo.searchlib.rankingexpression.transform.TransformContext; +import java.util.HashMap; import java.util.Map; /** @@ -20,26 +21,24 @@ public class RankProfileTransformContext extends TransformContext { private final QueryProfileRegistry queryProfiles; private final ImportedModels importedModels; private final Map<String, RankProfile.Macro> inlineMacros; - private final Map<String, String> rankPropertiesOutput; + private final Map<String, String> rankProperties = new HashMap<String, String>(); public RankProfileTransformContext(RankProfile rankProfile, QueryProfileRegistry queryProfiles, ImportedModels importedModels, Map<String, Value> constants, - Map<String, RankProfile.Macro> inlineMacros, - Map<String, String> rankPropertiesOutput) { + Map<String, RankProfile.Macro> inlineMacros) { super(constants); this.rankProfile = rankProfile; this.queryProfiles = queryProfiles; this.importedModels = importedModels; this.inlineMacros = inlineMacros; - this.rankPropertiesOutput = rankPropertiesOutput; } public RankProfile rankProfile() { return rankProfile; } public QueryProfileRegistry queryProfiles() { return queryProfiles; } public ImportedModels importedModels() { return importedModels; } public Map<String, RankProfile.Macro> inlineMacros() { return inlineMacros; } - public Map<String, String> rankPropertiesOutput() { return rankPropertiesOutput; } + public Map<String, String> rankProperties() { return rankProperties; } } |