diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-03-18 15:31:27 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-03-18 15:31:27 +0100 |
commit | 57175d20b0cc2ed57a928cffd6a9415099c4caa3 (patch) | |
tree | 001cb82b97f6f94476789b419fec598af5fe4a82 /container-search/src/test/java/com/yahoo/search/grouping | |
parent | 98056c0b2665b15f545c839f456d507b8c335dc5 (diff) |
Introduce query parameters for default max hits/groups in grouping queries
Diffstat (limited to 'container-search/src/test/java/com/yahoo/search/grouping')
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/grouping/vespa/RequestBuilderTestCase.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/vespa/RequestBuilderTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/vespa/RequestBuilderTestCase.java index 4397831af6e..29d9f7802c1 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/vespa/RequestBuilderTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/vespa/RequestBuilderTestCase.java @@ -698,6 +698,36 @@ public class RequestBuilderTestCase { assertOutput(test); } + @Test + public void require_that_default_max_values_from_request_builder_restricts_max_groups_and_hits() { + int defaultMaxHits = 19; + int defaultMaxGroups = 7; + RequestBuilder builder = new RequestBuilder(0) + .setDefaultMaxGroups(defaultMaxGroups) + .setDefaultMaxHits(defaultMaxHits) + .setRootOperation(GroupingOperation.fromString("all(group(foo)each(each(output(summary()))))")); + builder.build(); + List<Grouping> requests = builder.getRequestList(); + assertEquals(defaultMaxGroups + 1, requests.get(0).getLevels().get(0).getMaxGroups()); + HitsAggregationResult hitsAggregation = + (HitsAggregationResult)requests.get(0).getLevels().get(0).getGroupPrototype().getAggregationResults().get(0); + assertEquals(defaultMaxHits + 1, hitsAggregation.getMaxHits()); + } + + @Test + public void require_that_default_max_values_from_request_builder_restricts_respects_explicit_max() { + RequestBuilder builder = new RequestBuilder(0) + .setDefaultMaxGroups(7) + .setDefaultMaxHits(19) + .setRootOperation(GroupingOperation.fromString("all(group(foo)max(11)each(max(21)each(output(summary()))))")); + builder.build(); + List<Grouping> requests = builder.getRequestList(); + assertEquals(12, requests.get(0).getLevels().get(0).getMaxGroups()); + HitsAggregationResult hitsAggregation = + (HitsAggregationResult)requests.get(0).getLevels().get(0).getGroupPrototype().getAggregationResults().get(0); + assertEquals(22, hitsAggregation.getMaxHits()); + } + private static CompositeContinuation newComposite(EncodableContinuation... conts) { CompositeContinuation ret = new CompositeContinuation(); for (EncodableContinuation cont : conts) { |