searchable = $searchable; } /** * Search for a query string * * @return array of elastica objects **/ public function find($query, $limit) { $queryObject = Elastica_Query::create($query); $queryObject->setLimit($limit); return $this->searchable->search($queryObject)->getResults(); } /** * Gets a paginator wrapping the result of a search * * @return Pagerfanta **/ public function findPaginated($query) { $queryObject = Elastica_Query::create($query); $paginatorAdapter = $this->createPaginatorAdapter($queryObject); return new Pagerfanta(new FantaPaginatorAdapter($paginatorAdapter)); } /** * {@inheritdoc} */ public function createPaginatorAdapter($query) { $query = Elastica_Query::create($query); return new RawPaginatorAdapter($this->searchable, $query); } }