diff options
-rw-r--r-- | config-model/src/main/javacc/SDParser.jj | 5 | ||||
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java | 11 |
2 files changed, 12 insertions, 4 deletions
diff --git a/config-model/src/main/javacc/SDParser.jj b/config-model/src/main/javacc/SDParser.jj index cc365ecb655..66fa308f32f 100644 --- a/config-model/src/main/javacc/SDParser.jj +++ b/config-model/src/main/javacc/SDParser.jj @@ -419,10 +419,7 @@ Search rootSearch(String dir) : Search search; } { - ( <SEARCH> name = identifier() { if (!name.matches("[a-zA-Z_][a-zA-Z_:0-9]*")) { - deployLogger.log(Level.WARNING, name + " can not be used in YQL+ expressions."); - } - search = new Search(name, app); + ( <SEARCH> name = identifier() { search = new Search(name, app); rankProfileRegistry.add(new DefaultRankProfile(search, rankProfileRegistry)); rankProfileRegistry.add(new UnrankedRankProfile(search, rankProfileRegistry));} lbrace() (rootSearchItem(search) (<NL>)*)* <RBRACE> (<NL>)* <EOF>) 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 ed80c0bf256..dae6b9f0fb9 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 @@ -308,6 +308,17 @@ public class QueryTestCase { } @Test + public void testLanguageSubstitution() { + QueryProfile profile = new QueryProfile("myProfile"); + profile.set("myField1", "Language: %{model.language}", null); + profile.set("myField2", "Locale: %{locale}", null); + Query q = new Query(QueryTestCase.httpEncode("/search?lang=en-us"), profile.compile(null)); + assertEquals("Language: ENGLISH", q.properties().get("myField1")); + q.properties().set("locale", q.getHttpRequest().propertyMap().get("lang")); + assertEquals("Locale: en-us", q.properties().get("myField2")); + } + + @Test public void testTimeoutInRequestOverridesQueryProfile() { QueryProfile profile = new QueryProfile("test"); profile.set("timeout", 318, (QueryProfileRegistry)null); |