Алголия: поиск нескольких индексов в Laravel

Я хотел бы настроить algolia для поиска по нескольким индексам в Laravel, используя что-то простое, как это.

Route::get('/search/{query}', function ($query) {
$queries = [
[
'indexName' => 'movies_index',
'query' => $query,
'hitsPerPage' => 3
],
[
'indexName' => 'directors',
'query' => $query,
'hitsPerPage' => 3,
],
[
'indexName' => 'screenwriters',
'query' => $query,
'hitsPerPage' => 10
]
];



var_dump($queries);});

Но я новичок в Laravel и Algolia, так что я не совсем уверен, как это сделать.

1

Решение

В соответствии с Алголия Документы состояния:

// perform 3 queries in a single API call:
//  - 1st query targets index `categories`
//  - 2nd and 3rd queries target index `products`

$queries = [
[
'indexName' => 'categories',
'query' => $myQueryString,
'hitsPerPage' => 3
],
[
'indexName' => 'products',
'query' => $myQueryString,
'hitsPerPage' => 3,
'facetFilters' => 'promotion'
],
[
'indexName' => 'products',
'query' => $myQueryString,
'hitsPerPage' => 10
]
];

$results = $client->multipleQueries($queries);

var_dump($results['results']);

Не забудьте инициализировать ваш $client первый:

$client = new \AlgoliaSearch\Client('APP_ID', 'APP_KEY');
1

Другие решения

Других решений пока нет …