Пример #1
0
 /**
  * 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());
 }
Пример #2
0
 /**
  * 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);
     }
 }
Пример #3
0
 public function testSetAndGetMethod()
 {
     $this->_facet->setMethod('enum');
     $this->assertEquals('enum', $this->_facet->getMethod());
 }