/** * Add a facet result for a range facet * * @param Solarium_Query_Select_Component_Facet_Range $facet * @param array $data * @return void */ protected function _facetRange($facet, $data) { $key = $facet->getKey(); if (isset($data['facet_counts']['facet_ranges'][$key])) { $data = $data['facet_counts']['facet_ranges'][$key]; $before = isset($data['before']) ? $data['before'] : null; $after = isset($data['after']) ? $data['after'] : null; $between = isset($data['between']) ? $data['between'] : null; return new Solarium_Result_Select_Facet_Range($data['counts'], $before, $after, $between); } }
/** * Add a facet result for a range facet * * @param Solarium_Query_Select_Component_Facet_Range $facet * @param array $data * @return void */ protected function _facetRange($facet, $data) { $key = $facet->getKey(); if (isset($data['facet_counts']['facet_ranges'][$key])) { $data = $data['facet_counts']['facet_ranges'][$key]; $before = isset($data['before']) ? $data['before'] : null; $after = isset($data['after']) ? $data['after'] : null; $between = isset($data['between']) ? $data['between'] : null; $offset = 0; $counts = array(); while (isset($data['counts'][$offset]) && isset($data['counts'][$offset + 1])) { $counts[$data['counts'][$offset]] = $data['counts'][$offset + 1]; $offset += 2; } return new Solarium_Result_Select_Facet_Range($counts, $before, $after, $between); } }
public function testSetAndGetIncludeArray() { $this->_facet->setInclude(array('lower', 'upper')); $this->assertEquals('lower,upper', $this->_facet->getInclude()); }
/** * Add params for a range facet to request * * @param Solarium_Client_Request $request * @param Solarium_Query_Select_Component_Facet_Range $facet * @return void */ public function addFacetRange($request, $facet) { $field = $facet->getField(); $request->addParam('facet.range', $this->renderLocalParams($field, array('key' => $facet->getKey(), 'ex' => $facet->getExcludes()))); $request->addParam("f.{$field}.facet.range.start", $facet->getStart()); $request->addParam("f.{$field}.facet.range.end", $facet->getEnd()); $request->addParam("f.{$field}.facet.range.gap", $facet->getGap()); $request->addParam("f.{$field}.facet.range.hardend", $facet->getHardend()); if (null !== $facet->getOther()) { $other = explode(',', $facet->getOther()); foreach ($other as $otherValue) { $request->addParam("f.{$field}.facet.range.other", trim($otherValue)); } } if (null !== $facet->getInclude()) { $include = explode(',', $facet->getInclude()); foreach ($include as $includeValue) { $request->addParam("f.{$field}.facet.range.include", trim($includeValue)); } } }