summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2020-06-19 10:02:54 +0000
committerArne Juul <arnej@verizonmedia.com>2020-06-19 10:02:54 +0000
commitede285634d82b6e4f4c39158863408d8ffd81377 (patch)
treefc6a5f6ec0497f0ffc8561373c42512e372f1712
parentae1297268fa447f7fb7f2f548d4f32c5327ec187 (diff)
extend unit test and fix bug found by it
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/SelectParser.java2
-rw-r--r--container-search/src/test/java/com/yahoo/select/SelectTestCase.java9
2 files changed, 10 insertions, 1 deletions
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 42e1bf46902..9910eb9532d 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
@@ -415,7 +415,7 @@ public class SelectParser implements Parser {
HashMap<Integer, Inspector> children = childMap(value);
Preconditions.checkArgument(children.size() == 2, "Expected 2 arguments, got %s.", children.size());
String field = children.get(0).asString();
- String property = children.get(0).asString();
+ String property = children.get(1).asString();
NearestNeighborItem item = new NearestNeighborItem(field, property);
Inspector annotations = getAnnotations(value);
if (annotations != null){
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 d2896aca870..4691ef42e55 100644
--- a/container-search/src/test/java/com/yahoo/select/SelectTestCase.java
+++ b/container-search/src/test/java/com/yahoo/select/SelectTestCase.java
@@ -522,6 +522,15 @@ public class SelectTestCase {
}
@Test
+ public void testNearestNeighbor() {
+ assertParse("{ \"nearestNeighbor\": [ \"f1field\", \"q2prop\" ] }",
+ "NEAREST_NEIGHBOR {field=f1field,queryTensorName=q2prop,hnsw.exploreAdditionalHits=0,approximate=true,targetHits=0}");
+
+ assertParse("{ \"nearestNeighbor\": { \"children\" : [ \"f3field\", \"q4prop\" ], \"attributes\" : {\"targetHits\": 37} }}",
+ "NEAREST_NEIGHBOR {field=f3field,queryTensorName=q4prop,hnsw.exploreAdditionalHits=0,approximate=true,targetHits=37}");
+ }
+
+ @Test
public void testWeakAnd() {
assertParse("{ \"weakAnd\": [{ \"contains\": [\"a\", \"A\"] }, { \"contains\": [\"b\", \"B\"] } ] }",
"WAND(100) a:A b:B");