/** * Add a facet result for a range facet. * * @param Query $query * @param QueryFacetPivot $facet * @param array $data * * @return ResultFacetPivot|null */ protected function facetPivot($query, $facet, $data) { $key = $facet->getKey(); if (!isset($data['facet_counts']['facet_pivot'][$key])) { return; } return new ResultFacetPivot($data['facet_counts']['facet_pivot'][$key]); }
/** * Add params for a range facet to request * * @param Request $request * @param FacetPivot $facet * @return void */ public function addFacetPivot($request, $facet) { $request->addParam('facet.pivot', $this->renderLocalParams(implode(',', $facet->getFields()), array('key' => $facet->getKey(), 'ex' => $facet->getExcludes()))); $request->addParam('facet.pivot.mincount', $facet->getMinCount(), true); }
/** * Add params for a range facet to request * * @param Request $request * @param FacetPivot $facet * @return void */ public function addFacetPivot($request, $facet) { $stats = $facet->getStats(); if (count($stats) > 0) { $key = array('stats' => implode('', $stats)); // when specifying stats, solr sets the field as key $facet->setKey(implode(',', $facet->getFields())); } else { $key = array('key' => $facet->getKey()); } $request->addParam('facet.pivot', $this->renderLocalParams(implode(',', $facet->getFields()), array_merge($key, array('ex' => $facet->getExcludes())))); $request->addParam('facet.pivot.mincount', $facet->getMinCount(), true); }