diff options
author | Jon Bratseth <bratseth@verizonmedia.com> | 2019-08-26 14:02:59 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@verizonmedia.com> | 2019-08-26 14:02:59 +0200 |
commit | 254bdd4aff9ca67499d21ee5126c1834ebee286f (patch) | |
tree | 932b951d6811f67c471e75cdbe1bdda1bbd35664 /container-search/src/test | |
parent | 195734c17c9aec03549c50ae07418cef540ca506 (diff) |
Allow segment and in phrase
Diffstat (limited to 'container-search/src/test')
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java b/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java index 10d2dd9efc7..fd29f2c12fe 100644 --- a/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java @@ -887,6 +887,21 @@ public class QueryTestCase { } @Test + public void testImplicitPhrase() { + Query query = new Query(httpEncode("?query=myfield:it's myfield:fine")); + + SearchDefinition test = new SearchDefinition("test"); + Index myField = new Index("myfield"); + myField.addCommand("phrase-segmenting true"); + assertTrue(myField.getPhraseSegmenting()); + test.addIndex(myField); + IndexModel indexModel = new IndexModel(test); + query.getModel().setExecution(new Execution(Execution.Context.createContextStub(new IndexFacts(indexModel)))); + + assertEquals("AND myfield:'it s' myfield:fine", query.getModel().getQueryTree().toString()); + } + + @Test public void testImplicitAnd() { Query query = new Query(httpEncode("?query=myfield:it's myfield:fine")); @@ -902,18 +917,18 @@ public class QueryTestCase { } @Test - public void testImplicitPhrase() { - Query query = new Query(httpEncode("?query=myfield:it's myfield:fine")); + public void testImplicitAndInPhrase() { + Query query = new Query(httpEncode("?query=myfield:\"it's fine\"")); SearchDefinition test = new SearchDefinition("test"); Index myField = new Index("myfield"); - myField.addCommand("phrase-segmenting true"); - assertTrue(myField.getPhraseSegmenting()); + myField.addCommand("phrase-segmenting false"); + assertFalse(myField.getPhraseSegmenting()); test.addIndex(myField); IndexModel indexModel = new IndexModel(test); query.getModel().setExecution(new Execution(Execution.Context.createContextStub(new IndexFacts(indexModel)))); - assertEquals("AND myfield:'it s' myfield:fine", query.getModel().getQueryTree().toString()); + assertEquals("myfield:\"it s fine\"", query.getModel().getQueryTree().toString()); } private void assertDetectionText(String expectedDetectionText, String queryString, String ... indexSpecs) { |