public function testSetQueries() { $facetQuery1 = new Solarium_Query_Select_Component_Facet_Query(); $facetQuery1->setKey('k1'); $facetQuery1->setQuery('category:1'); $this->_facet->addQuery($facetQuery1); $facetQuery2 = new Solarium_Query_Select_Component_Facet_Query(); $facetQuery2->setKey('k2'); $facetQuery2->setQuery('category:2'); $facetQuery3 = new Solarium_Query_Select_Component_Facet_Query(); $facetQuery3->setKey('k3'); $facetQuery3->setQuery('category:3'); $this->_facet->setQueries(array($facetQuery2, $facetQuery3)); $this->assertEquals(array('k2' => $facetQuery2, 'k3' => $facetQuery3), $this->_facet->getQueries()); }
/** * Add a facet result for a multiquery facet * * @param Solarium_Query_Select_Component_Facet_MultiQuery $facet * @param array $data * @return void */ protected function _facetMultiQuery($facet, $data) { $values = array(); foreach ($facet->getQueries() as $query) { $key = $query->getKey(); if (isset($data['facet_counts']['facet_queries'][$key])) { $count = $data['facet_counts']['facet_queries'][$key]; $values[$key] = $count; } } if (count($values) > 0) { return new Solarium_Result_Select_Facet_MultiQuery($values); } }
/** * Add params for a multiquery facet to request * * @param Solarium_Client_Request $request * @param Solarium_Query_Select_Component_Facet_MultiQuery $facet * @return void */ public function addFacetMultiQuery($request, $facet) { foreach ($facet->getQueries() as $facetQuery) { $this->addFacetQuery($request, $facetQuery); } }