eZ\Publish\Core\Search\Elasticsearch\Content\Gateway\Native::find PHP Method

find() public method

Finds and returns documents of a given $type for a given $query object.
public find ( eZ\Publish\API\Repository\Values\Content\Query $query, string $type, array $languageFilter = [] ) : mixed
$query eZ\Publish\API\Repository\Values\Content\Query
$type string
$languageFilter array
return mixed
    public function find(Query $query, $type, array $languageFilter = array())
    {
        $aggregationList = array_map(array($this->facetBuilderVisitor, 'visit'), $query->facetBuilders);
        $aggregations = array();
        foreach ($aggregationList as $aggregation) {
            $aggregations[key($aggregation)] = reset($aggregation);
        }
        $ast = array('query' => array('filtered' => array('query' => array($this->criterionVisitorDispatcher->dispatch($query->query, CriterionVisitorDispatcher::CONTEXT_QUERY, $languageFilter)), 'filter' => array($this->criterionVisitorDispatcher->dispatch($query->filter, CriterionVisitorDispatcher::CONTEXT_FILTER, $languageFilter)))), 'aggregations' => empty($aggregations) ? new ArrayObject() : $aggregations, 'sort' => array_map(array($this->sortClauseVisitor, 'visit'), $query->sortClauses), 'track_scores' => true, 'from' => $query->offset, 'size' => $query->limit);
        $response = $this->findRaw(json_encode($ast), $type);
        // TODO: error handling
        $data = json_decode($response->body);
        return $data;
    }