summaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-08-17 09:57:44 +0200
committerGitHub <noreply@github.com>2022-08-17 09:57:44 +0200
commit224b13638e794b01c741d5f345b0adfd65f7b66a (patch)
treec4ab5bb92f4ab01f0b6c634c35deedd80568c7fe /container-search
parent02d0725e489540eca682c453dbf254fc63992c6a (diff)
parent5f57dc00592552a29cdab9c535ff05b03db08a5b (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.java4
-rw-r--r--container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java30
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