bl4*_*sta 5 php laravel algolia laravel-scout
如您所知,where()在搜索方法使用后使用语句numericFilter.我试图用字符串过滤过滤我的搜索结果.
如何在搜索语句中使用Facet Filter?
bl4*_*sta 12
我很乐意回答我自己的问题.首先,很难找到任何有关Laravel Scout的文档.如果要使用字符串参数过滤搜索结果.即使很难找到答案也是如此.我逐行检查了整个图书馆.最后,结果让我感到自豪.
如果你想用字符串参数过滤你的结果,你需要为你的search()方法设计回调函数并在那里注入你的FacetFilters.简单地说,假设你有Posts模型你正在使用Algolia并且你有枚举类型category列.您可以使用以下代码过滤博客搜索结果.
$post = Post::search($query, function ($algolia, $query, $options) use ($category){
$new_options = [];
if (!is_null($type)) {
$new_options = ["facetFilters"=>"category_name:".$category];
}
return $algolia->search($query, array_merge($options,$new_options));
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1673 次 |
| 最近记录: |