public function testSetFields() { $f1 = new Solarium_Query_Select_Component_Stats_Field(); $f1->setKey('f1'); $f2 = new Solarium_Query_Select_Component_Stats_Field(); $f2->setKey('f2'); $fields = array($f1, $f2); $this->_stats->addFields($fields); $f3 = new Solarium_Query_Select_Component_Stats_Field(); $f3->setKey('f3'); $f4 = new Solarium_Query_Select_Component_Stats_Field(); $f4->setKey('f4'); $fields2 = array('f3' => $f3, 'f4' => $f4); $this->_stats->setFields($fields2); $this->assertEquals($fields2, $this->_stats->getFields()); }
/** * 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 build($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; }