diff options
author | Jon Bratseth <bratseth@gmail.com> | 2020-09-03 15:29:34 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2020-09-03 15:29:34 +0200 |
commit | bf46d861e0e7cc3380508a11fa2e5085427b2725 (patch) | |
tree | dbddce55f89474d75adb81dbcb48feb6158a45eb /container-search/src/main | |
parent | 842478eca170b3cc04408d80acafb252d7c19c26 (diff) |
Allow varref in equiv
Diffstat (limited to 'container-search/src/main')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/yql/YqlParser.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java b/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java index 3880ad594e3..739aae0e277 100644 --- a/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java +++ b/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java @@ -1283,7 +1283,7 @@ public class YqlParser implements Parser { equiv.setIndexName(field); for (OperatorNode<ExpressionOperator> arg : args) { switch (arg.getOperator()) { - case LITERAL: + case LITERAL: case VARREF: equiv.addItem(instantiateWordItem(field, arg, equiv.getClass())); break; case CALL: @@ -1292,7 +1292,7 @@ public class YqlParser implements Parser { break; default: throw newUnexpectedArgumentException(arg.getOperator(), - ExpressionOperator.CALL, ExpressionOperator.LITERAL); + ExpressionOperator.CALL, ExpressionOperator.LITERAL, ExpressionOperator.VARREF); } } return leafStyleSettings(ast, equiv); @@ -1353,7 +1353,8 @@ public class YqlParser implements Parser { } private Item instantiateWordItem(String field, - OperatorNode<ExpressionOperator> ast, Class<?> parent, + OperatorNode<ExpressionOperator> ast, + Class<?> parent, SegmentWhen segmentPolicy) { String wordData = getStringContents(ast); return instantiateWordItem(field, wordData, ast, parent, segmentPolicy, null, decideParsingLanguage(ast, wordData)); @@ -1369,7 +1370,8 @@ public class YqlParser implements Parser { // which always expands first, but not using getIndex, which performs checks that doesn't always work private Item instantiateWordItem(String field, String rawWord, - OperatorNode<ExpressionOperator> ast, Class<?> parent, + OperatorNode<ExpressionOperator> ast, + Class<?> parent, SegmentWhen segmentPolicy, Boolean exactMatch, Language language) { |