* @license http://github.com/basdenooijer/solarium/raw/master/COPYING * @link http://www.solarium-project.org/ * * @package Solarium * @subpackage Client */ /** * Add select component stats to the request * * @package Solarium * @subpackage Client */ class Solarium_Client_RequestBuilder_Select_Component_Stats { /** * Add request settings for the stats component * * @param Solarium_Query_Select_Component_Stats $component * @param Solarium_Client_Request $request * @return Solarium_Client_Request */ public function buildComponent($component, $request) { // enable stats $request->addParam('stats', 'true'); // add fields foreach ($component->getFields() as $field) { $request->addParam('stats.field', $field->getKey()); // add field specific facet stats foreach ($field->getFacets() as $facet) { $request->addParam('f.'.$field->getKey().'.stats.facet', $facet); } } // add facet stats for all fields foreach ($component->getFacets() as $facet) { $request->addParam('stats.facet', $facet); } return $request; } }