Example #1
0
 /**
  * @param RequestInterface $request
  * @param Table $documentsTable
  * @return array
  */
 private function processAggregations(RequestInterface $request, Table $documentsTable)
 {
     $aggregations = [];
     $buckets = $request->getAggregation();
     $dataProvider = $this->dataProviderContainer->get($request->getIndex());
     foreach ($buckets as $bucket) {
         $aggregationBuilder = $this->aggregationContainer->get($bucket->getType());
         $aggregations[$bucket->getName()] = $aggregationBuilder->build($dataProvider, $request->getDimensions(), $bucket, $documentsTable);
     }
     return $aggregations;
 }