/** * Modifies the given query and adds the parameters necessary for faceted * search. * * @param Query $query The query to modify * @return Query The modified query with faceting parameters */ public function modifyQuery(Query $query) { $query->setFaceting(); $this->buildFacetingParameters(); $this->addFacetQueryFilters(); foreach ($this->facetParameters as $facetParameter => $value) { $query->addQueryParameter($facetParameter, $value); } foreach ($this->facetFilters as $filter) { $query->addFilter($filter); } return $query; }