diff --git a/src/Endpoints/Indexes.php b/src/Endpoints/Indexes.php index a3d15836..d397e5cf 100644 --- a/src/Endpoints/Indexes.php +++ b/src/Endpoints/Indexes.php @@ -10,6 +10,7 @@ use Meilisearch\Contracts\Index\Settings; use Meilisearch\Contracts\IndexesQuery; use Meilisearch\Contracts\IndexesResults; +use Meilisearch\Contracts\SearchQuery; use Meilisearch\Contracts\SimilarDocumentsQuery; use Meilisearch\Contracts\Task; use Meilisearch\Contracts\TasksQuery; @@ -187,7 +188,7 @@ public function getTasks(?TasksQuery $options = null): TasksResults /** * @phpstan-return ($options is array{raw: true|non-falsy-string|positive-int} ? array : SearchResult) */ - public function search(?string $query, array $searchParams = [], array $options = []): SearchResult|array + public function search(?string $query, SearchQuery|array $searchParams = [], array $options = []): SearchResult|array { $result = $this->rawSearch($query, $searchParams); @@ -201,8 +202,9 @@ public function search(?string $query, array $searchParams = [], array $options return $searchResult; } - public function rawSearch(?string $query, array $searchParams = []): array + public function rawSearch(?string $query, SearchQuery|array $searchParams = []): array { + $searchParams = $searchParams instanceof SearchQuery ? $searchParams->toArray() : $searchParams; $parameters = array_merge( ['q' => $query], $searchParams