public function testBuildComponent() { $builder = new RequestBuilder(); $request = new Request(); $component = new Component(); $component->createField('fieldA')->addFacet('fieldFacetA'); $component->createField('fieldB'); $component->addFacets(array('facetA', 'facetB')); $request = $builder->buildComponent($component, $request); $this->assertEquals(array('stats' => 'true', 'stats.facet' => array('facetA', 'facetB'), 'stats.field' => array('fieldA', 'fieldB'), 'f.fieldA.stats.facet' => 'fieldFacetA'), $request->getParams()); }
public function testSetFacets() { $this->stats->clearFacets(); $this->stats->addFacets(array('facet1', 'facet2')); $this->stats->setFacets(array('facet3', 'facet4')); $this->assertEquals(array('facet3', 'facet4'), $this->stats->getFacets()); }
/** * Add request settings for the stats component * * @param StatsComponent $component * @param Request $request * @return Request */ public function buildComponent($component, $request) { // enable stats $request->addParam('stats', 'true'); // add fields foreach ($component->getFields() as $field) { $request->addParam('stats.field', $field->getKey()); // add field specific facet stats foreach ($field->getFacets() as $facet) { $request->addParam('f.' . $field->getKey() . '.stats.facet', $facet); } } // add facet stats for all fields foreach ($component->getFacets() as $facet) { $request->addParam('stats.facet', $facet); } return $request; }
/** * Add request settings for the stats component * * @param StatsComponent $component * @param Request $request * @return Request */ public function buildComponent($component, $request) { // enable stats $request->addParam('stats', 'true'); // add fields foreach ($component->getFields() as $field) { $value = $this->renderLocalParams($field->getKey(), array('ex' => $field->getExcludes())); $request->addParam('stats.field', $value); // add field specific facet stats foreach ($field->getFacets() as $facet) { $request->addParam('f.' . $field->getKey() . '.stats.facet', $facet); } } // add facet stats for all fields foreach ($component->getFacets() as $facet) { $request->addParam('stats.facet', $facet); } return $request; }
/** * Add request settings for the stats component. * * @param StatsComponent $component * @param Request $request * * @return Request */ public function buildComponent($component, $request) { // enable stats $request->addParam('stats', 'true'); // add fields foreach ($component->getFields() as $field) { $pivots = $field->getPivots(); $prefix = count($pivots) > 0 ? '{!tag=' . implode(',', $pivots) . '}' : ''; $request->addParam('stats.field', $prefix . $field->getKey()); // add field specific facet stats foreach ($field->getFacets() as $facet) { $request->addParam('f.' . $field->getKey() . '.stats.facet', $facet); } } // add facet stats for all fields foreach ($component->getFacets() as $facet) { $request->addParam('stats.facet', $facet); } return $request; }