Algolia:在 Laravel 中搜索多个索引
Posted
技术标签:
【中文标题】Algolia:在 Laravel 中搜索多个索引【英文标题】:Algolia: searching multiple indices in Laravel 【发布时间】:2018-09-25 13:06:02 【问题描述】:我想设置 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 的初学者,所以我不完全确定如何继续。
【问题讨论】:
您使用的是Laravel Scout 还是Algolia php library? @HCK Laravel 侦察兵 【参考方案1】:根据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 中搜索多个索引的主要内容,如果未能解决你的问题,请参考以下文章
如何访问 javascript 中的 laravel .env 变量?
在Laravel中,当我直接用数据库更新内容时,我怎样才能保持搜索索引有正确的数据更新?