diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-08-17 09:57:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-17 09:57:44 +0200 |
commit | 224b13638e794b01c741d5f345b0adfd65f7b66a (patch) | |
tree | c4ab5bb92f4ab01f0b6c634c35deedd80568c7fe /container-search | |
parent | 02d0725e489540eca682c453dbf254fc63992c6a (diff) | |
parent | 5f57dc00592552a29cdab9c535ff05b03db08a5b (diff) |
Merge branch 'master' into bratseth/defaultIndex-in-state
Diffstat (limited to 'container-search')
-rw-r--r-- | container-search/src/main/java/com/yahoo/prelude/query/parser/AbstractParser.java | 4 | ||||
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java | 30 |
2 files changed, 31 insertions, 3 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/query/parser/AbstractParser.java b/container-search/src/main/java/com/yahoo/prelude/query/parser/AbstractParser.java index ad1e8525b4b..38d09c3ddf4 100644 --- a/container-search/src/main/java/com/yahoo/prelude/query/parser/AbstractParser.java +++ b/container-search/src/main/java/com/yahoo/prelude/query/parser/AbstractParser.java @@ -142,6 +142,10 @@ public abstract class AbstractParser implements CustomParser { private Item parse(String queryToParse, String filterToParse, Language parsingLanguage, IndexFacts.Session indexFacts, String defaultIndex, Parsable parsable) { if (queryToParse == null) return null; + + if (defaultIndexName != null) + defaultIndexName = indexFacts.getCanonicName(defaultIndex); + tokenize(queryToParse, defaultIndex, indexFacts, parsingLanguage); if (parsingLanguage == null && parsable != null) { 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 f8a77445a40..a722552b7d2 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 @@ -452,10 +452,34 @@ public class QueryTestCase { @Test void testDefaultIndex() { - Query q = new Query("?query=hi%20hello%20keyword:kanoo%20" + - "default:munkz%20%22phrases+too%22&default-index=def"); + Query q = new Query("?query=hi%20hello%20keyword:kanoo%20default:munkz%20%22phrases+too%22&default-index=def"); assertEquals("WEAKAND(100) def:hi def:hello keyword:kanoo default:munkz def:\"phrases too\"", - q.getModel().getQueryTree().toString()); + q.getModel().getQueryTree().toString()); + } + + @Test + void testDefaultIndexAlias() { + SearchDefinition test = new SearchDefinition("test"); + Index year = new Index("year"); + year.setNumerical(true); + year.addAlias("yearalias"); + test.addIndex(year); + test.addAlias("yearalias", "year"); + IndexModel indexModel = new IndexModel(test); + + { + Query q = new Query("?default-index=year&type=all"); + q.getModel().setExecution(new Execution(Execution.Context.createContextStub(new IndexFacts(indexModel)))); + q.getModel().setQueryString("2000"); + assertEquals("select * from sources * where year = 2000", q.yqlRepresentation()); + } + + { + Query q = new Query("?default-index=yearalias&type=all"); + q.getModel().setExecution(new Execution(Execution.Context.createContextStub(new IndexFacts(indexModel)))); + q.getModel().setQueryString("2000"); + assertEquals("select * from sources * where year = 2000", q.yqlRepresentation()); + } } @Test |