public function testConfigMode() { $options = array('key' => 'myKey', 'exclude' => array('e1', 'e2'), 'field' => 'text', 'sort' => 'index', 'limit' => 10, 'offset' => 20, 'mincount' => 5, 'missing' => true, 'method' => 'enum'); $this->_facet->setOptions($options); $this->assertEquals($options['key'], $this->_facet->getKey()); $this->assertEquals($options['exclude'], $this->_facet->getExcludes()); $this->assertEquals($options['field'], $this->_facet->getField()); $this->assertEquals($options['sort'], $this->_facet->getSort()); $this->assertEquals($options['limit'], $this->_facet->getLimit()); $this->assertEquals($options['offset'], $this->_facet->getOffset()); $this->assertEquals($options['mincount'], $this->_facet->getMinCount()); $this->assertEquals($options['missing'], $this->_facet->getMissing()); $this->assertEquals($options['method'], $this->_facet->getMethod()); }
/** * Add a facet result for a field facet * * @param Solarium_Query_Select_Component_Facet_Field $facet * @param array $data * @return void */ protected function _facetField($facet, $data) { $key = $facet->getKey(); if (isset($data['facet_counts']['facet_fields'][$key])) { $values = array_chunk($data['facet_counts']['facet_fields'][$key], 2); $facetValues = array(); foreach ($values as $value) { $facetValues[$value[0]] = $value[1]; } return new Solarium_Result_Select_Facet_Field($facetValues); } }
/** * Add params for a field facet to request * * @param Solarium_Client_Request $request * @param Solarium_Query_Select_Component_Facet_Field $facet * @return void */ public function addFacetField($request, $facet) { $field = $facet->getField(); $request->addParam('facet.field', $this->renderLocalParams($field, array('key' => $facet->getKey(), 'ex' => $facet->getExcludes()))); $request->addParam("f.{$field}.facet.limit", $facet->getLimit()); $request->addParam("f.{$field}.facet.sort", $facet->getSort()); $request->addParam("f.{$field}.facet.prefix", $facet->getPrefix()); $request->addParam("f.{$field}.facet.offset", $facet->getOffset()); $request->addParam("f.{$field}.facet.mincount", $facet->getMinCount()); $request->addParam("f.{$field}.facet.missing", $facet->getMissing()); $request->addParam("f.{$field}.facet.method", $facet->getMethod()); }