1--TEST--
2SolrQuery - Result Grouping (Group Parameters)
3--FILE--
4<?php
5
6$query = new SolrQuery();
7
8$query->setGroup(true);
9
10$query->addGroupField('category')->addGroupField('featured');
11
12$query->addGroupFunction('ceil(internalScore)');
13
14$query->addGroupQuery('silk')->addGroupQuery('name:june');
15
16$query->setGroupLimit(98);
17
18$query->setGroupOffset(110);
19
20$query->addGroupSortField('count', SolrQuery::ORDER_ASC);
21$query->addGroupSortField('name', SolrQuery::ORDER_DESC);
22
23$query->setGroupFormat('simple');
24
25$query->setGroupMain(false);
26
27$query->setGroupNGroups(false);
28
29$query->setGroupTruncate(true);
30
31$query->setGroupFacet(true);
32
33
34$query->setGroupCachePercent(100);
35
36echo PHP_EOL . "-- Query String --".PHP_EOL;
37echo $query.PHP_EOL;
38
39echo PHP_EOL . "-- Integer --".PHP_EOL;
40var_dump($query->getGroupOffset(), $query->getGroupLimit(), $query->getGroupCachePercent(0));
41echo PHP_EOL . "-- String --".PHP_EOL;
42var_dump($query->getGroupFormat());
43echo PHP_EOL . "-- Array --".PHP_EOL;
44var_dump($query->getGroupFields());
45var_dump($query->getGroupFunctions());
46var_dump($query->getGroupQueries());
47var_dump($query->getGroupSortFields());
48
49echo PHP_EOL . "-- BOOL --".PHP_EOL;
50var_dump($query->getGroup(), $query->getGroupMain(), $query->getGroupNGroups(), $query->getGroupTruncate(), $query->getGroupFacet());
51echo PHP_EOL;
52
53try {
54	$query->setGroupCachePercent(-1);
55} catch (SolrIllegalArgumentException $e) {
56	echo sprintf("Exception Caught %d: %s", $e->getCode(), $e->getMessage()).PHP_EOL;
57}
58?>
59--EXPECTF--
60-- Query String --
61group=true&group.field=category&group.field=featured&group.func=ceil(internalScore)&group.query=silk&group.query=name:june&group.limit=98&group.offset=110&group.sort=count asc,name desc&group.format=simple&group.main=false&group.ngroups=false&group.truncate=true&group.facet=true&group.cache.percent=100
62
63-- Integer --
64int(110)
65int(98)
66int(100)
67
68-- String --
69string(6) "simple"
70
71-- Array --
72array(2) {
73  [0]=>
74  string(8) "category"
75  [1]=>
76  string(8) "featured"
77}
78array(1) {
79  [0]=>
80  string(19) "ceil(internalScore)"
81}
82array(2) {
83  [0]=>
84  string(4) "silk"
85  [1]=>
86  string(9) "name:june"
87}
88array(2) {
89  [0]=>
90  string(9) "count asc"
91  [1]=>
92  string(9) "name desc"
93}
94
95-- BOOL --
96bool(true)
97bool(false)
98bool(false)
99bool(true)
100bool(true)
101
102Exception Caught 4000: Group cache percent must be between 0 and 100