/** * 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()); }
/** * 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); } }
public function testSetAndGetMethod() { $this->_facet->setMethod('enum'); $this->assertEquals('enum', $this->_facet->getMethod()); }