/** * getElasticQuery * * @access public * @return Query */ public function getElasticQuery() { if ($this->filterList) { $filteredQuery = new ElasticaQuery\Filtered($this->getQuery(), $this->getFilter()); $query = new Query($filteredQuery); } else { $query = new Query($this->getQuery()); } $query->setDocumentManager($this->documentManager); // manage size / from if ($this->firstResults) { $query->setFrom($this->firstResults); } if (isset($this->maxResults)) { $query->setSize($this->maxResults); } if (!empty($this->sortList)) { $query->setSort($this->sortList); } if (!empty($this->aggregationList)) { foreach ($this->aggregationList as $aggregation) { $query->addAggregation($aggregation); } } return $query; }