Esempio n. 1
0
 /**
  * {@inheritdoc}
  */
 public function getViewData(DocumentIterator $result, ViewData $data)
 {
     /** @var $data RangeAwareViewData */
     $data->setMinBounds(new \DateTime(date(\DateTime::ISO8601, $result->getAggregations()['date_range_agg']->getValue()['min'] / 1000)));
     $data->setMaxBounds(new \DateTime(date(\DateTime::ISO8601, $result->getAggregations()['date_range_agg']->getValue()['max'] / 1000)));
     return $data;
 }
Esempio n. 2
0
 /**
  * {@inheritdoc}
  */
 public function getViewData(DocumentIterator $result, ViewData $data)
 {
     /** @var $data ViewData\RangeAwareViewData */
     $data->setMinBounds($result->getAggregations()['range_agg']->getValue()['min']);
     $data->setMaxBounds($result->getAggregations()['range_agg']->getValue()['max']);
     return $data;
 }
 /**
  * Iteration test.
  *
  * @param array $rawData
  * @param array $expected
  *
  * @dataProvider getTestIterationData
  */
 public function testIteration($rawData, $expected)
 {
     $documentsIterator = new DocumentIterator($rawData, [], []);
     $aggregations = $documentsIterator->getAggregations();
     $values = [];
     foreach ($aggregations as $bucket) {
         foreach ($bucket as $result) {
             $values[] = $result->getValue();
         }
     }
     $this->assertEquals($expected, $values);
 }
 /**
  * Fetches buckets from search results.
  *
  * @param DocumentIterator $result Search results.
  * @param string           $name   Filter name.
  *
  * @return array Buckets.
  */
 protected function fetchAggregation(DocumentIterator $result, $name)
 {
     $aggregations = $result->getAggregations();
     if (isset($aggregations[$name])) {
         return $aggregations[$name];
     }
     $buckets = $aggregations->find(sprintf('%s-filter.%s', $name, $name));
     if (isset($buckets)) {
         return $buckets;
     }
     return [];
 }
 /**
  * Test for getAggregations().
  */
 public function testGetAggregations()
 {
     $rawData = ['hits' => ['total' => 0, 'hits' => []], 'aggregations' => ['agg_foo' => ['doc_count' => 1]]];
     $iterator = new DocumentIterator($rawData, [], []);
     $this->assertInstanceOf('ONGR\\ElasticsearchBundle\\Result\\Aggregation\\AggregationIterator', $iterator->getAggregations());
     $this->assertEquals(['doc_count' => 1], $iterator->getAggregations()['foo']->getValue());
 }