diff options
author | Arne Juul <arnej@yahooinc.com> | 2023-11-16 14:52:47 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahooinc.com> | 2023-11-16 19:01:17 +0000 |
commit | 16ab76c8e668b90177438c1e793a253f48eb55f0 (patch) | |
tree | ab767179bf346ab49853bcfcc2ab2ab264c1e11f /searchlib | |
parent | acd4ebf2718a4d80998b87a57c4b046e56f8e3e0 (diff) |
always process with SerializationContext (needed by unpack_bits)
Diffstat (limited to 'searchlib')
-rwxr-xr-x | searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java | 3 | ||||
-rwxr-xr-x | searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/RankingExpressionTestCase.java | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java index a7b45feb043..c0dfc0e1d29 100755 --- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/RankingExpression.java @@ -257,6 +257,9 @@ public class RankingExpression implements Serializable { * @return a list of named rank properties required to implement this expression */ public Map<String, String> getRankProperties(SerializationContext context) { + if ("".equals(name)) { + return Map.of(); + } Deque<String> path = new LinkedList<>(); String serializedRoot = root.toString(new StringBuilder(), context, path, null).toString(); Map<String, String> serializedExpressions = context.serializedFunctions(); diff --git a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/RankingExpressionTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/RankingExpressionTestCase.java index 8af77ec1cdd..8d60f893c7c 100755 --- a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/RankingExpressionTestCase.java +++ b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/RankingExpressionTestCase.java @@ -364,7 +364,7 @@ public class RankingExpressionTestCase { private void assertSerialization(String expectedSerialization, String expressionString) { String serializedExpression; try { - RankingExpression expression = new RankingExpression(expressionString); + RankingExpression expression = new RankingExpression("secondphase", expressionString); // No functions -> expect one rank property serializedExpression = expression.getRankProperties(new SerializationContext()).values().iterator().next(); assertEquals(expectedSerialization, serializedExpression); @@ -376,7 +376,7 @@ public class RankingExpressionTestCase { try { // No functions -> output should be parseable to a ranking expression // (but not the same one due to primitivization) - RankingExpression reparsedExpression = new RankingExpression(serializedExpression); + RankingExpression reparsedExpression = new RankingExpression("secondphase", serializedExpression); // Serializing the primitivized expression should yield the same expression again String reserializedExpression = reparsedExpression.getRankProperties(new SerializationContext()).values().iterator().next(); @@ -399,7 +399,7 @@ public class RankingExpressionTestCase { if (print) System.out.println("Parsing expression '" + expressionString + "':"); - RankingExpression expression = new RankingExpression(expressionString); + RankingExpression expression = new RankingExpression("secondphase", expressionString); Map<String, String> rankProperties = expression.getRankProperties(new SerializationContext(functions, Optional.empty())); if (print) { |