/** * @param string $searchQuery * @param array $sort * @param int $offset * @param int $limit * @return array */ public function findInIndex($searchQuery = "", $sort = [], $offset = 0, $limit = 0) { $client = $this->solr_client->getClient(); $query = $client->createSelect(); $query->setQuery($searchQuery); if (!empty($sort)) { foreach ($sort as $key => $value) { $query->addSort($key, $value); } } if (!empty($limit)) { $query->setRows($limit); } if (!empty($offset)) { $query->setStart($offset); } $resultset = $client->select($query); $result = []; /** @var Document $document */ foreach ($resultset as $document) { $result[] = ArrayHelper::createArrayFromDocument($document); } return $result; }