diff options
author | Henrik <henrik.hoiness@online.no> | 2018-08-07 14:43:00 +0200 |
---|---|---|
committer | Henrik <henrik.hoiness@online.no> | 2018-08-07 14:43:00 +0200 |
commit | be31b9fc952bc6ad9548d8374cd0ae32b89223b6 (patch) | |
tree | 247499248ef2e52b28724697de02b23b82afda6d /container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java | |
parent | d0cf8f54872dd5483e1d319c9fdde3987bdcf9b1 (diff) |
Added a object structure for GroupingRequest objects, accessable from query.getSelect().getGrouping()
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java b/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java index 71002166b11..9523ee36568 100644 --- a/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java +++ b/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java @@ -3,10 +3,11 @@ package com.yahoo.search.query.properties; import com.yahoo.processing.request.CompoundName; import com.yahoo.search.Query; +import com.yahoo.search.grouping.GroupingRequest; +import com.yahoo.search.grouping.vespa.GroupingExecutor; import com.yahoo.search.query.*; import com.yahoo.search.query.profile.compiled.CompiledQueryProfileRegistry; import com.yahoo.search.query.profile.types.FieldDescription; -import com.yahoo.search.query.profile.types.QueryProfileFieldType; import com.yahoo.search.query.profile.types.QueryProfileType; import com.yahoo.search.query.ranking.Diversity; import com.yahoo.search.query.ranking.MatchPhase; @@ -14,11 +15,11 @@ import com.yahoo.search.query.ranking.Matching; import com.yahoo.search.query.ranking.SoftTimeout; import com.yahoo.tensor.Tensor; -import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Map; + + /** * Maps between the query model and text properties. * This can be done simpler by using reflection but the performance penalty was not worth it, @@ -139,6 +140,7 @@ public class QueryProperties extends Properties { if (key.toString().equals(Model.MODEL)) return query.getModel(); if (key.toString().equals(Ranking.RANKING)) return query.getRanking(); if (key.toString().equals(Presentation.PRESENTATION)) return query.getPresentation(); + if (key.toString().equals(GroupingExecutor.GROUPING_LIST)) return query.getSelect().getGrouping(); } return super.get(key, context, substitution); } @@ -253,9 +255,9 @@ public class QueryProperties extends Properties { } else if (key.size()==2 && key.first().equals(Select.SELECT)) { if (key.last().equals(Select.WHERE)){ - query.getSelect().setWhere(asString(value, "")); + query.getSelect().setWhereString(asString(value, "")); } else if (key.last().equals(Select.GROUPING)) { - query.getSelect().setGrouping(asString(value, "")); + query.getSelect().setGroupingString(asString(value, "")); } } else if (key.first().equals("rankfeature") || key.first().equals("featureoverride") ) { // featureoverride is deprecated @@ -275,6 +277,8 @@ public class QueryProperties extends Properties { query.setNoCache(asBoolean(value,false)); else if (key.equals(Query.GROUPING_SESSION_CACHE)) query.setGroupingSessionCache(asBoolean(value, false)); + else if (key.equals(GroupingExecutor.GROUPING_LIST)) + query.getSelect().setGrouping(value); else super.set(key,value,context); } |