Algolia:在 Laravel 中搜索多个索引
Algolia: searching multiple indices in 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 的初学者,所以我不完全确定如何继续。
根据 Algolia Docs 状态:
// 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');
我想设置 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 的初学者,所以我不完全确定如何继续。
根据 Algolia Docs 状态:
// 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');