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