summaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-05-29 11:52:54 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2018-05-29 11:52:54 +0200
commitbb60362c86a9fafeb129db4f2276aadca17ee1f9 (patch)
tree094c48037c64b5c89f1ebb04b34da933850fffb4 /container-search
parent6cd4e8945facda874bf1ada7ea8694c2c633f9da (diff)
Remove the term aspect from SameElementItem.
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/query/SameElementItem.java33
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/query/WeakAndItem.java13
-rw-r--r--container-search/src/main/java/com/yahoo/search/yql/VespaSerializer.java17
-rw-r--r--container-search/src/main/java/com/yahoo/search/yql/YqlParser.java2
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