summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model/src/main/javacc/SDParser.jj5
-rw-r--r--container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java11
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);