diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-04-07 18:44:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-07 18:44:22 +0200 |
commit | 7563ab1357379a560de5622750d817aac6bd117c (patch) | |
tree | 20aa20fb7e61838a2fe2b0f9dacfafcd5e5bc540 /container-search/src/main/java/com/yahoo/prelude | |
parent | fac065affc2d04e4b927e98a732b046fa73b43cf (diff) | |
parent | 3efc8f5ab5d8e8788dc4e2f921c95d03a672d1e1 (diff) |
Merge branch 'master' into bratseth/inputs
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude')
-rw-r--r-- | container-search/src/main/java/com/yahoo/prelude/query/parser/StructuredParser.java | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/query/parser/StructuredParser.java b/container-search/src/main/java/com/yahoo/prelude/query/parser/StructuredParser.java index a35ad91acbd..54a6e5b6e90 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/parser/StructuredParser.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/parser/StructuredParser.java @@ -160,8 +160,8 @@ abstract class StructuredParser extends AbstractParser { firstWord.add(tokens.next()); } - if (tokens.currentIsNoIgnore(DOT)) { - tokens.skip(); + while (tokens.currentIsNoIgnore(DOT)) { + secondWord.add(tokens.next()); if (tokens.currentIsNoIgnore(WORD) || tokens.currentIsNoIgnore(NUMBER)) { secondWord.add(tokens.next()); } else { @@ -177,11 +177,7 @@ abstract class StructuredParser extends AbstractParser { if ( ! tokens.skipNoIgnore(COLON)) return null; - if (secondWord.size() == 0) { - item = concatenate(firstWord); - } else { - item = concatenate(firstWord) + "." + concatenate(secondWord); - } + item = concatenate(firstWord) + concatenate(secondWord); item = indexFacts.getCanonicName(item); @@ -395,7 +391,7 @@ abstract class StructuredParser extends AbstractParser { if ( ! tokens.currentIs(NUMBER)) return null; item = new IntItem(">" + (negative ? "-" : "") + tokens.next() + decimalPart(), true); - item.setOrigin(new Substring(initial.substring.start, tokens.currentNoIgnore().substring.start, + item.setOrigin(new Substring(initial.substring.start, tokens.currentNoIgnore().substring.start, initial.getSubstring().getSuperstring())); // XXX: Unsafe end? return item; } finally { |