Example #1
0
 public function testSetStats()
 {
     $this->facet->clearStats();
     $this->facet->addStats(array('stat1', 'stat2'));
     $this->facet->setStats(array('stat3', 'stat4'));
     $this->assertEquals(array('stat3', 'stat4'), $this->facet->getStats());
 }
Example #2
0
 public function testSetFields()
 {
     $this->facet->clearFields();
     $this->facet->addFields(array('field1', 'field2'));
     $this->facet->setFields(array('field3', 'field4'));
     $this->assertEquals(array('field3', 'field4'), $this->facet->getFields());
 }
Example #3
0
 /**
  * Add a facet result for a range facet
  *
  * @param  Query            $query
  * @param  QueryFacetPivot  $facet
  * @param  array            $data
  * @return ResultFacetPivot
  */
 protected function facetPivot($query, $facet, $data)
 {
     $key = implode(',', $facet->getFields());
     if (isset($data['facet_counts']['facet_pivot'][$key])) {
         $data = $data['facet_counts']['facet_pivot'][$key];
         return new ResultFacetPivot($data);
     }
 }
Example #4
0
 /**
  * Add params for a range facet to request
  *
  * @param  Request    $request
  * @param  FacetPivot $facet
  * @return void
  */
 public function addFacetPivot($request, $facet)
 {
     $request->addParam('facet.pivot', $this->renderLocalParams(implode(',', $facet->getFields()), array('key' => $facet->getKey(), 'ex' => $facet->getExcludes())));
     $request->addParam('facet.pivot.mincount', $facet->getMinCount(), true);
 }
Example #5
0
 public function testBuildWithPivotFacet()
 {
     $facet = new FacetPivot(array('key' => 'f1', 'fields' => 'cat,inStock', 'mincount' => 123));
     $facet->addExclude('owner');
     $this->component->addFacet($facet);
     $request = $this->builder->buildComponent($this->component, $this->request);
     $this->assertEquals(null, $request->getRawData());
     $this->assertEquals('?facet=true&facet.pivot={!key=f1 ex=owner}cat,inStock&facet.pivot.mincount=123', urldecode($request->getUri()));
 }
Example #6
0
 /**
  * Add a facet result for a range facet.
  *
  * @param Query           $query
  * @param QueryFacetPivot $facet
  * @param array           $data
  *
  * @return ResultFacetPivot|null
  */
 protected function facetPivot($query, $facet, $data)
 {
     $key = $facet->getKey();
     if (!isset($data['facet_counts']['facet_pivot'][$key])) {
         return;
     }
     return new ResultFacetPivot($data['facet_counts']['facet_pivot'][$key]);
 }
Example #7
0
 /**
  * Add params for a range facet to request
  *
  * @param  Request    $request
  * @param  FacetPivot $facet
  * @return void
  */
 public function addFacetPivot($request, $facet)
 {
     $stats = $facet->getStats();
     if (count($stats) > 0) {
         $key = array('stats' => implode('', $stats));
         // when specifying stats, solr sets the field as key
         $facet->setKey(implode(',', $facet->getFields()));
     } else {
         $key = array('key' => $facet->getKey());
     }
     $request->addParam('facet.pivot', $this->renderLocalParams(implode(',', $facet->getFields()), array_merge($key, array('ex' => $facet->getExcludes()))));
     $request->addParam('facet.pivot.mincount', $facet->getMinCount(), true);
 }
Example #8
0
 /**
  * Add params for a range facet to request
  *
  * @param  Request    $request
  * @param  FacetPivot $facet
  * @return void
  */
 public function addFacetPivot($request, $facet)
 {
     $request->addParam('facet.pivot', implode(',', $facet->getFields()));
     $request->addParam('facet.pivot.mincount', $facet->getMinCount(), true);
 }