Exemplo n.º 1
0
 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());
 }
Exemplo n.º 2
0
 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());
 }
Exemplo n.º 3
0
 /**
  * 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;
 }
Exemplo n.º 4
0
 /**
  * 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;
 }
Exemplo n.º 5
0
 /**
  * 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;
 }