예제 #1
0
 public function testSetQueries()
 {
     $facetQuery1 = new Solarium_Query_Select_Component_Facet_Query();
     $facetQuery1->setKey('k1');
     $facetQuery1->setQuery('category:1');
     $this->_facet->addQuery($facetQuery1);
     $facetQuery2 = new Solarium_Query_Select_Component_Facet_Query();
     $facetQuery2->setKey('k2');
     $facetQuery2->setQuery('category:2');
     $facetQuery3 = new Solarium_Query_Select_Component_Facet_Query();
     $facetQuery3->setKey('k3');
     $facetQuery3->setQuery('category:3');
     $this->_facet->setQueries(array($facetQuery2, $facetQuery3));
     $this->assertEquals(array('k2' => $facetQuery2, 'k3' => $facetQuery3), $this->_facet->getQueries());
 }
예제 #2
0
 /**
  * Add a facet result for a multiquery facet
  *
  * @param Solarium_Query_Select_Component_Facet_MultiQuery $facet
  * @param array $data
  * @return void
  */
 protected function _facetMultiQuery($facet, $data)
 {
     $values = array();
     foreach ($facet->getQueries() as $query) {
         $key = $query->getKey();
         if (isset($data['facet_counts']['facet_queries'][$key])) {
             $count = $data['facet_counts']['facet_queries'][$key];
             $values[$key] = $count;
         }
     }
     if (count($values) > 0) {
         return new Solarium_Result_Select_Facet_MultiQuery($values);
     }
 }
예제 #3
0
 /**
  * Add params for a multiquery facet to request
  *
  * @param Solarium_Client_Request $request
  * @param Solarium_Query_Select_Component_Facet_MultiQuery $facet
  * @return void
  */
 public function addFacetMultiQuery($request, $facet)
 {
     foreach ($facet->getQueries() as $facetQuery) {
         $this->addFacetQuery($request, $facetQuery);
     }
 }