diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-05-29 11:52:54 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2018-05-29 11:52:54 +0200 |
commit | bb60362c86a9fafeb129db4f2276aadca17ee1f9 (patch) | |
tree | 094c48037c64b5c89f1ebb04b34da933850fffb4 /container-search | |
parent | 6cd4e8945facda874bf1ada7ea8694c2c633f9da (diff) |
Remove the term aspect from SameElementItem.
Diffstat (limited to 'container-search')
4 files changed, 20 insertions, 45 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/query/SameElementItem.java b/container-search/src/main/java/com/yahoo/prelude/query/SameElementItem.java index e1b5842529f..bc6463a24eb 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/SameElementItem.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/SameElementItem.java @@ -1,10 +1,10 @@ // Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.prelude.query; - import com.google.common.annotations.Beta; import com.yahoo.protect.Validator; +import java.nio.ByteBuffer; import java.util.Iterator; /** @@ -14,30 +14,25 @@ import java.util.Iterator; * @author baldersheim */ @Beta -public class SameElementItem extends CompositeIndexedItem { +public class SameElementItem extends CompositeItem { + + private final String commonPath; public SameElementItem(String commonPath) { - setIndexName(commonPath); + this.commonPath = commonPath; } @Override - public String getIndexedString() { - StringBuilder buf = new StringBuilder(); - - for (Iterator<Item> i = getItemIterator(); i.hasNext();) { - IndexedItem indexedItem = (IndexedItem) i.next(); - - buf.append(indexedItem.getIndexedString()); - if (i.hasNext()) { - buf.append(' '); - } - } - return buf.toString(); + protected void encodeThis(ByteBuffer buffer) { + super.encodeThis(buffer); + putString(commonPath, buffer); } + @Override protected void appendHeadingString(StringBuilder buffer) { } + @Override protected void appendBodyString(StringBuilder buffer) { - appendIndexString(buffer); + buffer.append(commonPath).append(':'); buffer.append('{'); for (Iterator<Item> i = getItemIterator(); i.hasNext();) { TermItem term = (TermItem) i.next(); @@ -50,11 +45,6 @@ public class SameElementItem extends CompositeIndexedItem { } @Override - public int getNumWords() { - return getItemCount(); - } - - @Override protected void adding(Item item) { Validator.ensureInstanceOf("Child item", item, TermItem.class); TermItem asTerm = (TermItem) item; @@ -70,4 +60,5 @@ public class SameElementItem extends CompositeIndexedItem { public String getName() { return getItemType().toString(); } + public String getCommonPath() { return commonPath; } } diff --git a/container-search/src/main/java/com/yahoo/prelude/query/WeakAndItem.java b/container-search/src/main/java/com/yahoo/prelude/query/WeakAndItem.java index 0384dfdca12..708c48f0954 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/WeakAndItem.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/WeakAndItem.java @@ -42,11 +42,7 @@ public final class WeakAndItem extends NonReducibleCompositeItem { **/ public WeakAndItem(String index, int N) { this.N = N; - if (index == null) { - this.index = ""; - } else { - this.index = index; - } + this.index = (index == null) ? "" : index; } public WeakAndItem(int N) { this("", N); @@ -54,12 +50,7 @@ public final class WeakAndItem extends NonReducibleCompositeItem { /** Sets the index name of all subitems of this */ public void setIndexName(String index) { - String toSet; - if (index == null) { - toSet = ""; - } else { - toSet = index; - } + String toSet = (index == null) ? "" : index; super.setIndexName(toSet); this.index = toSet; } diff --git a/container-search/src/main/java/com/yahoo/search/yql/VespaSerializer.java b/container-search/src/main/java/com/yahoo/search/yql/VespaSerializer.java index 4c5dfaabed7..1d89a5d7a68 100644 --- a/container-search/src/main/java/com/yahoo/search/yql/VespaSerializer.java +++ b/container-search/src/main/java/com/yahoo/search/yql/VespaSerializer.java @@ -594,23 +594,18 @@ public class VespaSerializer { static boolean serialize(StringBuilder destination, Item item, boolean includeField) { - SameElementItem phrase = (SameElementItem) item; - String annotations = leafAnnotations(phrase); + SameElementItem sameElement = (SameElementItem) item; if (includeField) { - destination.append(normalizeIndexName(phrase.getIndexName())).append(" contains "); - - } - if (annotations.length() > 0) { - destination.append("([{").append(annotations).append("}]"); + destination.append(normalizeIndexName(sameElement.getCommonPath())).append(" contains "); } destination.append(SAME_ELEMENT).append('('); - for (int i = 0; i < phrase.getItemCount(); ++i) { + for (int i = 0; i < sameElement.getItemCount(); ++i) { if (i > 0) { destination.append(", "); } - Item current = phrase.getItem(i); + Item current = sameElement.getItem(i); if (current instanceof WordItem) { new WordSerializer().serialize(destination, current); @@ -621,9 +616,7 @@ public class VespaSerializer { } } destination.append(')'); - if (annotations.length() > 0) { - destination.append(')'); - } + return false; } 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 292bb6d0f5a..c6097b1bc73 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 @@ -542,7 +542,7 @@ public class YqlParser implements Parser { for (OperatorNode<ExpressionOperator> word : ast.<List<OperatorNode<ExpressionOperator>>> getArgument(1)) { sameElement.addItem(buildTermSearch(word)); } - return leafStyleSettings(ast, sameElement); + return sameElement; } @NonNull |