aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/test/java/com/yahoo/prelude/querytransform/test
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-06-10 00:18:45 +0200
committerJon Bratseth <bratseth@gmail.com>2022-06-10 00:18:45 +0200
commite5f034271514570b4590a3fa76c91dbdb1f7515f (patch)
treead37860980547e27a2c4ffd6918b6ab9760a0348 /container-search/src/test/java/com/yahoo/prelude/querytransform/test
parent4b3adbb89f52bb20f2f220fcf1480673cae0881d (diff)
Revert "Merge pull request #23040 from vespa-engine/revert-23039-bratseth/weakand-by-default-take-2"
This reverts commit 4b3adbb89f52bb20f2f220fcf1480673cae0881d, reversing changes made to d204179b218af2fdf4b251ede3a465ffabbf6557.
Diffstat (limited to 'container-search/src/test/java/com/yahoo/prelude/querytransform/test')
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/querytransform/test/CollapsePhraseSearcherTestCase.java4
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/querytransform/test/LiteralBoostSearcherTestCase.java14
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/querytransform/test/NonPhrasingSearcherTestCase.java2
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/querytransform/test/NormalizingSearcherTestCase.java12
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/querytransform/test/QueryRewriteTestCase.java7
-rw-r--r--container-search/src/test/java/com/yahoo/prelude/querytransform/test/StemmingSearcherTestCase.java17
6 files changed, 29 insertions, 27 deletions
diff --git a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/CollapsePhraseSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/CollapsePhraseSearcherTestCase.java
index c57799c7d3e..498d6ca2980 100644
--- a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/CollapsePhraseSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/CollapsePhraseSearcherTestCase.java
@@ -65,12 +65,12 @@ public class CollapsePhraseSearcherTestCase {
@Test
public void testNegative1() {
- assertEquals("\"abc def\"", transformQuery("?query=" + enc("\"abc def\"")));
+ assertEquals("WEAKAND(100) \"abc def\"", transformQuery("?query=" + enc("\"abc def\"")));
}
@Test
public void testNegative2() {
- assertEquals("AND a \"abc def\" b", transformQuery("?query=" + enc("a \"abc def\" b")));
+ assertEquals("WEAKAND(100) a \"abc def\" b", transformQuery("?query=" + enc("a \"abc def\" b")));
}
private String enc(String s) {
diff --git a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/LiteralBoostSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/LiteralBoostSearcherTestCase.java
index a15e8d2c7b5..a434fbd9949 100644
--- a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/LiteralBoostSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/LiteralBoostSearcherTestCase.java
@@ -19,31 +19,31 @@ import static org.junit.Assert.assertEquals;
/**
* Tests the complete field match query transformer
*
- * @author <a href="mailto:steinar@yahoo-inc.com">Steinar Knutsen</a>
+ * @author Steinar Knutsen
*/
public class LiteralBoostSearcherTestCase {
@Test
public void testSimpleQueryWithBoost() {
- assertEquals("RANK abc default_literal:abc",
+ assertEquals("RANK (WEAKAND(100) abc) default_literal:abc",
transformQuery("?query=abc&source=cluster1&restrict=type1"));
}
@Test
public void testSimpleQueryNoBoost() {
- assertEquals("abc",
+ assertEquals("WEAKAND(100) abc",
transformQuery("?query=abc&source=cluster1&restrict=type2"));
}
@Test
public void testQueryWithExplicitIndex() {
- assertEquals("RANK absolute:abc absolute_literal:abc",
+ assertEquals("RANK (WEAKAND(100) absolute:abc) absolute_literal:abc",
transformQuery("?query=absolute:abc&source=cluster1&restrict=type1"));
}
@Test
public void testQueryWithExplicitIndexNoBoost() {
- assertEquals("absolute:abc",
+ assertEquals("WEAKAND(100) absolute:abc",
transformQuery("?query=absolute:abc&source=cluster1&restrict=type2"));
}
@@ -64,7 +64,7 @@ public class LiteralBoostSearcherTestCase {
@Test
public void testTermindexQuery() {
- assertEquals("RANK (+(AND a b d) -c) default_literal:a "+
+ assertEquals("RANK (+(WEAKAND(100) a b d) -c) default_literal:a "+
"default_literal:b default_literal:d",
transformQuery("?query=a b -c d&source=cluster1&restrict=type1"));
}
@@ -72,7 +72,7 @@ public class LiteralBoostSearcherTestCase {
@Test
public void testQueryWithoutBoost() {
assertEquals("RANK (AND nonexistant a nonexistant b) default_literal:nonexistant default_literal:a default_literal:nonexistant default_literal:b",
- transformQuery("?query=nonexistant:a nonexistant:b&source=cluster1&restrict=type1"));
+ transformQuery("?query=nonexistant:a nonexistant:b&source=cluster1&restrict=type1&type=all"));
}
private String transformQuery(String rawQuery) {
diff --git a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NonPhrasingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NonPhrasingSearcherTestCase.java
index 25a2a476b6e..462e57a2b37 100644
--- a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NonPhrasingSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NonPhrasingSearcherTestCase.java
@@ -28,7 +28,7 @@ public class NonPhrasingSearcherTestCase {
Query query=new Query("?query=void+aword+kanoo");
new Execution(searcher, Execution.Context.createContextStub()).search(query);
- assertEquals("AND void kanoo", query.getModel().getQueryTree().getRoot().toString());
+ assertEquals("WEAKAND(100) void kanoo", query.getModel().getQueryTree().getRoot().toString());
}
@Test
diff --git a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NormalizingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NormalizingSearcherTestCase.java
index dbdd3345719..0694c1a7e55 100644
--- a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NormalizingSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/NormalizingSearcherTestCase.java
@@ -41,35 +41,35 @@ public class NormalizingSearcherTestCase {
public void testNoNormalizingNecssary() {
Query query = new Query("/search?query=bilen&search=cluster1&restrict=type1");
createExecution().search(query);
- assertEquals("bilen", query.getModel().getQueryTree().getRoot().toString());
+ assertEquals("WEAKAND(100) bilen", query.getModel().getQueryTree().getRoot().toString());
}
@Test
public void testAttributeQuery() {
Query query = new Query("/search?query=attribute:" + enc("b\u00e9yonc\u00e8 b\u00e9yonc\u00e8") + "&search=cluster1&restrict=type1");
createExecution().search(query);
- assertEquals("AND attribute:b\u00e9yonc\u00e8 beyonce", query.getModel().getQueryTree().getRoot().toString());
+ assertEquals("WEAKAND(100) attribute:b\u00e9yonc\u00e8 beyonce", query.getModel().getQueryTree().getRoot().toString());
}
@Test
public void testOneTermNormalizing() {
Query query = new Query("/search?query=b\u00e9yonc\u00e8&search=cluster1&restrict=type1");
createExecution().search(query);
- assertEquals("beyonce", query.getModel().getQueryTree().getRoot().toString());
+ assertEquals("WEAKAND(100) beyonce", query.getModel().getQueryTree().getRoot().toString());
}
@Test
public void testOneTermNoNormalizingDifferentSearchDef() {
Query query = new Query("/search?query=b\u00e9yonc\u00e8&search=cluster1&restrict=type2");
createExecution().search(query);
- assertEquals("béyoncè", query.getModel().getQueryTree().getRoot().toString());
+ assertEquals("WEAKAND(100) béyoncè", query.getModel().getQueryTree().getRoot().toString());
}
@Test
public void testTwoTermQuery() throws UnsupportedEncodingException {
Query query = new Query("/search?query=" + enc("b\u00e9yonc\u00e8 beyonc\u00e9") + "&search=cluster1&restrict=type1");
createExecution().search(query);
- assertEquals("AND beyonce beyonce", query.getModel().getQueryTree().getRoot().toString());
+ assertEquals("WEAKAND(100) beyonce beyonce", query.getModel().getQueryTree().getRoot().toString());
}
private String enc(String s) {
@@ -86,7 +86,7 @@ public class NormalizingSearcherTestCase {
Query query = new Query("/search?query=" + enc("\"b\u00e9yonc\u00e8 beyonc\u00e9\"") + "&search=cluster1&restrict=type1");
query.setTraceLevel(2);
createExecution().search(query);
- assertEquals("\"beyonce beyonce\"", query.getModel().getQueryTree().getRoot().toString());
+ assertEquals("WEAKAND(100) \"beyonce beyonce\"", query.getModel().getQueryTree().getRoot().toString());
}
@Test
diff --git a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/QueryRewriteTestCase.java b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/QueryRewriteTestCase.java
index ae4c8de6c3f..626c145875c 100644
--- a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/QueryRewriteTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/QueryRewriteTestCase.java
@@ -25,6 +25,13 @@ import static org.junit.Assert.assertTrue;
public class QueryRewriteTestCase {
@Test
+ public void testOptimizeByRestrict() {
+ Query query = new Query("?query=sddocname:music");
+ query.getModel().setRestrict("music");
+ QueryRewrite.optimizeByRestrict(query);
+ }
+
+ @Test
public void requireThatOptimizeByRestrictSimplifiesORItemsThatHaveFullRecallAndDontImpactRank() {
assertRewritten("sddocname:foo OR sddocname:bar OR sddocname:baz", "foo", "sddocname:foo");
assertRewritten("sddocname:foo OR sddocname:bar OR sddocname:baz", "bar", "sddocname:bar");
diff --git a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/StemmingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/StemmingSearcherTestCase.java
index 6bb216e1d10..55ce7ed4e99 100644
--- a/container-search/src/test/java/com/yahoo/prelude/querytransform/test/StemmingSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/prelude/querytransform/test/StemmingSearcherTestCase.java
@@ -34,7 +34,7 @@ public class StemmingSearcherTestCase {
@Test
public void testStemOnlySomeTerms() {
assertStem("/search?query=Holes in CVS and Subversion nostem:Found",
- "AND hole in cvs and subversion nostem:Found");
+ "WEAKAND(100) hole in cvs and subversion nostem:Found");
}
@Test
@@ -78,7 +78,7 @@ public class StemmingSearcherTestCase {
@Test
public void testDontStemPrefixes() {
- assertStem("/search?query=ist*&language=de", "ist*");
+ assertStem("/search?query=ist*&language=de", "WEAKAND(100) ist*");
}
@Test
@@ -91,9 +91,9 @@ public class StemmingSearcherTestCase {
@Test
public void testNounStemming() {
assertStem("/search?query=noun:towers noun:tower noun:tow",
- "AND noun:tower noun:tower noun:tow");
+ "WEAKAND(100) noun:tower noun:tower noun:tow");
assertStem("/search?query=notnoun:towers notnoun:tower notnoun:tow",
- "AND notnoun:tower notnoun:tower notnoun:tow");
+ "WEAKAND(100) notnoun:tower notnoun:tower notnoun:tow");
}
@Test
@@ -107,7 +107,7 @@ public class StemmingSearcherTestCase {
Query q = new Query(QueryTestCase.httpEncode("?query=cars"));
new Execution(new Chain<Searcher>(new StemmingSearcher(linguistics)),
Execution.Context.createContextStub(indexFacts, linguistics)).search(q);
- assertEquals("cars", q.getModel().getQueryTree().getRoot().toString());
+ assertEquals("WEAKAND(100) cars", q.getModel().getQueryTree().getRoot().toString());
}
@Test
@@ -132,16 +132,11 @@ public class StemmingSearcherTestCase {
@Test
public void testMultipleStemming() {
- try {
Query q = new Query(QueryTestCase.httpEncode("/search?language=en&search=four&query=trees \"nouns girls\" flowers \"a verbs a\" girls&default-index=foobar"));
executeStemming(q);
- assertEquals("AND WORD_ALTERNATIVES foobar:[ tree(0.7) trees(1.0) ] "+
+ assertEquals("WEAKAND(100) WORD_ALTERNATIVES foobar:[ tree(0.7) trees(1.0) ] "+
"foobar:\"noun girl\" WORD_ALTERNATIVES foobar:[ flower(0.7) flowers(1.0) ] "+
"foobar:\"a verb a\" WORD_ALTERNATIVES foobar:[ girl(0.7) girls(1.0) ]", q.getModel().getQueryTree().getRoot().toString());
- } catch (Exception e) {
- System.err.println("got exception: "+ e);
- e.printStackTrace();
- }
}
private Execution.Context newExecutionContext() {