summaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2021-02-08 09:24:08 +0100
committerJon Bratseth <bratseth@gmail.com>2021-02-08 09:24:08 +0100
commit1ac65ee103d17241b0815ecc81104f59c50771d6 (patch)
tree74eca86a53c5f52032fa0ead221dd3d70c5da838 /container-search
parent310ba5b0887926959270d602f908b0abec2ec55c (diff)
Deprecate score-threshold
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/query/WandItem.java2
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/query/WeakAndItem.java45
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/query/parser/AdvancedParser.java6
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/SelectParser.java7
-rw-r--r--container-search/src/main/java/com/yahoo/search/yql/VespaSerializer.java3
-rw-r--r--container-search/src/main/java/com/yahoo/search/yql/YqlParser.java1
-rw-r--r--container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java1
-rw-r--r--container-search/src/test/java/com/yahoo/select/SelectTestCase.java1
8 files changed, 35 insertions, 31 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/query/WandItem.java b/container-search/src/main/java/com/yahoo/prelude/query/WandItem.java
index a70d653b90a..89e85fe8f12 100644
--- a/container-search/src/main/java/com/yahoo/prelude/query/WandItem.java
+++ b/container-search/src/main/java/com/yahoo/prelude/query/WandItem.java
@@ -17,7 +17,7 @@ import java.nio.ByteBuffer;
*/
public class WandItem extends WeightedSetItem {
- private int targetNumHits;
+ private final int targetNumHits;
private double scoreThreshold = 0;
private double thresholdBoostFactor = 1;
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 033986dc90f..4fa2ed8b214 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
@@ -18,7 +18,7 @@ import java.nio.ByteBuffer;
*/
public final class WeakAndItem extends NonReducibleCompositeItem {
- private int N;
+ private int n;
private String index;
private int scoreThreshold = 0;
@@ -31,15 +31,15 @@ public final class WeakAndItem extends NonReducibleCompositeItem {
}
/**
- * Make a WAND item with no children. You can mention a common index or you can mention it on each child.
+ * Make a WeakAnd item with no children. You can mention a common index or you can mention it on each child.
*
- * @param index The index it shall search.
- * @param N the target for minimum number of hits to produce;
+ * @param index the index to search
+ * @param n the target for minimum number of hits to produce;
* a backend will not suppress any hits in the operator
* until N hits have been produced.
- **/
- public WeakAndItem(String index, int N) {
- this.N = N;
+ */
+ public WeakAndItem(String index, int n) {
+ this.n = n;
this.index = (index == null) ? "" : index;
}
public WeakAndItem(int N) {
@@ -61,7 +61,7 @@ public final class WeakAndItem extends NonReducibleCompositeItem {
protected void appendHeadingString(StringBuilder buffer) {
buffer.append(getName());
buffer.append("(");
- buffer.append(N);
+ buffer.append(n);
buffer.append(")");
buffer.append(" ");
}
@@ -75,53 +75,52 @@ public final class WeakAndItem extends NonReducibleCompositeItem {
}
public int getN() {
- return N;
+ return n;
}
public void setN(int N) {
- this.N = N;
+ this.n = N;
}
+ @Deprecated // TODO: Remove on Vespa 8
public int getScoreThreshold() {
return scoreThreshold;
}
/**
- * Sets the score threshold used by the backend search operator handling this WeakAndItem.
- * This threshold is currently only used if the WeakAndItem is searching a RISE index field.
- * The score threshold then specifies the minimum dot product score a match needs to be part of the result set.
- * Default value is 0.
+ * Noop.
*
- * @param scoreThreshold the score threshold.
+ * @deprecated has no effect
*/
+ @Deprecated // TODO: Remove on Vespa 8
public void setScoreThreshold(int scoreThreshold) {
this.scoreThreshold = scoreThreshold;
}
+ @Override
protected void encodeThis(ByteBuffer buffer) {
super.encodeThis(buffer);
- IntegerCompressor.putCompressedPositiveNumber(N, buffer);
+ IntegerCompressor.putCompressedPositiveNumber(n, buffer);
putString(index, buffer);
}
@Override
public void disclose(Discloser discloser) {
super.disclose(discloser);
- discloser.addProperty("N", N);
+ discloser.addProperty("N", n);
}
+ @Override
public int hashCode() {
- return super.hashCode() + 31 * N;
+ return super.hashCode() + 31 * n;
}
- /**
- * Returns whether this item is of the same class and
- * contains the same state as the given item
- */
+ /** Returns whether this item is of the same class and contains the same state as the given item. */
+ @Override
public boolean equals(Object object) {
if (!super.equals(object)) return false;
WeakAndItem other = (WeakAndItem) object; // Ensured by superclass
- if (this.N != other.N) return false;
+ if (this.n != other.n) return false;
return true;
}
diff --git a/container-search/src/main/java/com/yahoo/prelude/query/parser/AdvancedParser.java b/container-search/src/main/java/com/yahoo/prelude/query/parser/AdvancedParser.java
index e2dc5df5242..74a993b0413 100644
--- a/container-search/src/main/java/com/yahoo/prelude/query/parser/AdvancedParser.java
+++ b/container-search/src/main/java/com/yahoo/prelude/query/parser/AdvancedParser.java
@@ -148,10 +148,10 @@ public class AdvancedParser extends StructuredParser {
}
return topLevelItem;
} else if (isTheWord("wand", item)) {
- int n=consumeNumericArgument();
- if (n==0)
+ int n = consumeNumericArgument();
+ if (n == 0)
n=WeakAndItem.defaultN;
- if (topLevelIsClosed || !(topLevelItem instanceof WeakAndItem) || n!=((WeakAndItem)topLevelItem).getN()) {
+ if (topLevelIsClosed || !(topLevelItem instanceof WeakAndItem) || n != ((WeakAndItem)topLevelItem).getN()) {
WeakAndItem wand = new WeakAndItem();
wand.setN(n);
wand.addItem(topLevelItem);
diff --git a/container-search/src/main/java/com/yahoo/search/query/SelectParser.java b/container-search/src/main/java/com/yahoo/search/query/SelectParser.java
index 5f1f26b77e9..d212c2d6ec4 100644
--- a/container-search/src/main/java/com/yahoo/search/query/SelectParser.java
+++ b/container-search/src/main/java/com/yahoo/search/query/SelectParser.java
@@ -502,20 +502,21 @@ public class SelectParser implements Parser {
return item;
}
+ @SuppressWarnings("deprecation")
private CompositeItem buildWeakAnd(String key, Inspector value) {
WeakAndItem weakAnd = new WeakAndItem();
addItemsFromInspector(weakAnd, value);
Inspector annotations = getAnnotations(value);
- if (annotations != null){
+ if (annotations != null) {
annotations.traverse((ObjectTraverser) (annotation_name, annotation_value) -> {
if (TARGET_HITS.equals(annotation_name)){
weakAnd.setN((int)(annotation_value.asDouble()));
}
- if (TARGET_NUM_HITS.equals(annotation_name)){
+ if (TARGET_NUM_HITS.equals(annotation_name)) {
weakAnd.setN((int)(annotation_value.asDouble()));
}
- if (SCORE_THRESHOLD.equals(annotation_name)){
+ if (SCORE_THRESHOLD.equals(annotation_name)) {
weakAnd.setScoreThreshold((int)(annotation_value.asDouble()));
}
});
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 f4a36ea51ab..9e6701572dc 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
@@ -950,12 +950,13 @@ public class VespaSerializer {
}
+ @SuppressWarnings("deprecation")
private static class WeakAndSerializer extends Serializer<WeakAndItem> {
@Override
void onExit(StringBuilder destination, WeakAndItem item) {
destination.append(')');
- if (needsAnnotationBlock((WeakAndItem) item)) {
+ if (needsAnnotationBlock(item)) {
destination.append(')');
}
}
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 f37aeb4c1e0..9eaea47ea1b 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
@@ -1099,6 +1099,7 @@ public class YqlParser implements Parser {
return convertVarArgs(spec, 0, new OrItem());
}
+ @SuppressWarnings("deprecation")
private CompositeItem buildWeakAnd(OperatorNode<ExpressionOperator> spec) {
WeakAndItem weakAnd = new WeakAndItem();
Integer targetNumHits = getAnnotation(spec, TARGET_HITS,
diff --git a/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java b/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java
index 2d88351f9ea..3f0000367e7 100644
--- a/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java
@@ -616,6 +616,7 @@ public class YqlParserTestCase {
}
@Test
+ @SuppressWarnings("deprecation")
public void testWeakAnd() {
assertParse("select foo from bar where weakAnd(a contains \"A\", b contains \"B\");",
"WAND(100) a:A b:B");
diff --git a/container-search/src/test/java/com/yahoo/select/SelectTestCase.java b/container-search/src/test/java/com/yahoo/select/SelectTestCase.java
index 1ce70feebb4..7549c67d0ae 100644
--- a/container-search/src/test/java/com/yahoo/select/SelectTestCase.java
+++ b/container-search/src/test/java/com/yahoo/select/SelectTestCase.java
@@ -552,6 +552,7 @@ public class SelectTestCase {
}
@Test
+ @SuppressWarnings("deprecation")
public void testWeakAnd() {
assertParse("{ \"weakAnd\": [{ \"contains\": [\"a\", \"A\"] }, { \"contains\": [\"b\", \"B\"] } ] }",
"WAND(100) a:A b:B");