aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/test/java/com/yahoo
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-04-05 11:30:04 +0200
committerJon Bratseth <bratseth@verizonmedia.com>2019-04-05 11:30:04 +0200
commit152d3a06369fdfc38ca81f4c01a4a78e627067a6 (patch)
treee831e7e76c222f9739323f212f9b2fca7c3b8d13 /container-search/src/test/java/com/yahoo
parent1811c8f1d2d11089d34999df976de40bfb8a15e6 (diff)
Better heuristics for negative numbers
- Interpret "-N" as a positive term searching a negative number rather than the other way around in more cases. - Interpret "--N" as a negative term searching a negative number.
Diffstat (limited to 'container-search/src/test/java/com/yahoo')
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/query/parser/test/ParseTestCase.java22
-rw-r--r--container-search/src/test/java/com/yahoo/search/yql/UserInputTestCase.java11
2 files changed, 27 insertions, 6 deletions
diff --git a/container-search/src/test/java/com/yahoo/prelude/query/parser/test/ParseTestCase.java b/container-search/src/test/java/com/yahoo/prelude/query/parser/test/ParseTestCase.java
index 12f9ef2b18f..73f2ae7eb87 100644
--- a/container-search/src/test/java/com/yahoo/prelude/query/parser/test/ParseTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/query/parser/test/ParseTestCase.java
@@ -1957,7 +1957,12 @@ public class ParseTestCase {
@Test
public void testNumbersAndNot() {
- tester.assertParsed("+a -12", "a -12", Query.Type.ALL);
+ tester.assertParsed("AND a -12", "a -12", Query.Type.ALL);
+ }
+
+ @Test
+ public void testNumbersAndDoubleNot() {
+ tester.assertParsed("+a --12", "a --12", Query.Type.ALL);
}
@Test
@@ -1967,7 +1972,7 @@ public class ParseTestCase {
@Test
public void testSingleNegativeNumberLikeTerm() {
- tester.assertParsed(null, "-12", Query.Type.ALL);
+ tester.assertParsed("-12", "-12", Query.Type.ALL);
}
@Test
@@ -2004,7 +2009,12 @@ public class ParseTestCase {
@Test
public void testDecimalNumbersAndNot() {
- tester.assertParsed("+a -12.2", "a -12.2", Query.Type.ALL);
+ tester.assertParsed("AND a -12.2", "a -12.2", Query.Type.ALL);
+ }
+
+ @Test
+ public void testDecimalNumbersAndDoubleNot() {
+ tester.assertParsed("+a --12.2", "a --12.2", Query.Type.ALL);
}
@Test
@@ -2014,7 +2024,7 @@ public class ParseTestCase {
@Test
public void testSingleNegativeDecimalNumberLikeTerm() {
- tester.assertParsed(null, "-12.2", Query.Type.ALL);
+ tester.assertParsed("-12.2", "-12.2", Query.Type.ALL);
}
@Test
@@ -2321,12 +2331,12 @@ public class ParseTestCase {
@Test
public void testSingleNegativeNumberLikeTermWeb() {
- tester.assertParsed(null, "-12", Query.Type.WEB);
+ tester.assertParsed("-12", "-12", Query.Type.WEB);
}
@Test
public void testSingleNegativeDecimalNumberLikeTermWeb() {
- tester.assertParsed(null, "-12.2", Query.Type.WEB);
+ tester.assertParsed("-12.2", "-12.2", Query.Type.WEB);
}
@Test
diff --git a/container-search/src/test/java/com/yahoo/search/yql/UserInputTestCase.java b/container-search/src/test/java/com/yahoo/search/yql/UserInputTestCase.java
index b5c4166e4de..6173d710434 100644
--- a/container-search/src/test/java/com/yahoo/search/yql/UserInputTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/yql/UserInputTestCase.java
@@ -118,6 +118,17 @@ public class UserInputTestCase {
}
@Test
+ public void testNegativeNumberComparison() {
+ URIBuilder builder = searchUri();
+ builder.setParameter("myinput", "-5");
+ builder.setParameter("yql",
+ "select * from ecitem where rank(([{\"defaultIndex\":\"myfield\"}](userInput(@myinput))));");
+ Query query = searchAndAssertNoErrors(builder);
+ assertEquals("select * from ecitem where rank(myfield = (-5));", query.yqlRepresentation());
+ assertEquals("RANK myfield:-5", query.getModel().getQueryTree().getRoot().toString());
+ }
+
+ @Test
public void testAnnotatedUserInputUnrankedTerms() {
URIBuilder builder = searchUri();
builder.setParameter("yql",