Example #1
0
 /**
  * Transform the search request into an ES request.
  *
  * @param RequestInterface $request Search Request.
  *
  * @return array
  */
 public function buildSearchRequest(RequestInterface $request)
 {
     $searchRequest = ['from' => $request->getFrom(), 'size' => $request->getSize(), 'sort' => $this->getSortOrders($request)];
     $query = $this->getRootQuery($request);
     if ($query) {
         $searchRequest['query'] = $query;
     }
     $filter = $this->getRootFilter($request);
     if ($filter) {
         $searchRequest['filter'] = $filter;
     }
     $aggregations = $this->getAggregations($request);
     if (!empty($aggregations)) {
         $searchRequest['aggregations'] = $aggregations;
     }
     return $searchRequest;
 }