public function testSetQueries() { $facetQuery1 = new Query(); $facetQuery1->setKey('k1'); $facetQuery1->setQuery('category:1'); $this->facet->addQuery($facetQuery1); $facetQuery2 = new Query(); $facetQuery2->setKey('k2'); $facetQuery2->setQuery('category:2'); $facetQuery3 = new 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 QueryFacetMultiQuery $facet * @param array $data * @return ResultFacetMultiQuery */ 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 ResultFacetMultiQuery($values); } }
/** * Add params for a multiquery facet to request * * @param Request $request * @param FacetMultiQuery $facet * @return void */ public function addFacetMultiQuery($request, $facet) { foreach ($facet->getQueries() as $facetQuery) { $this->addFacetQuery($request, $facetQuery); } }