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()); }
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()); }
/** * 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); } }
/** * 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); }
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())); }
/** * 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]); }
/** * 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); }
/** * 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); }