예제 #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;
 }
예제 #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 [];
 }
예제 #5
0
 /**
  * {@inheritdoc}
  */
 public function getViewData(DocumentIterator $result, ViewData $data)
 {
     /** @var ViewData\PagerAwareViewData $data */
     $data->setPager(new PagerService(new CountAdapter($result->getTotalCount()), array_filter(['page' => $data->getState()->getValue(), 'limit' => $this->getCountPerPage(), 'max_pages' => $this->getMaxPages()])));
     return $data;
 }
 /**
  * Test for getSuggestions().
  */
 public function testGetSuggestions()
 {
     $rawData = ['hits' => ['total' => 0, 'hits' => []], 'suggest' => ['foo' => [['text' => 'foobar', 'offset' => 0, 'length' => 6, 'options' => [['text' => 'foobar', 'freq' => 77, 'score' => 0.8888889]]]]]];
     $iterator = new DocumentIterator($rawData, [], []);
     $suggestions = $iterator->getSuggestions();
     $this->assertInstanceOf('ONGR\\ElasticsearchBundle\\Result\\Suggestion\\SuggestionIterator', $iterator->getSuggestions());
     $expectedSuggestion = new SuggestionEntry('foobar', 0, 6, new OptionIterator($rawData['suggest']['foo'][0]['options']));
     $this->assertEquals($expectedSuggestion, $suggestions['foo'][0]);
 }