【发布时间】:2015-04-23 06:09:31
【问题描述】:
我正在为我的 Laravel 应用程序使用 ES,但我不确定是否需要使用 bool 查询。
在我的查询中我需要做的:
“标题”字段的全文搜索
检查“价格”字段是否介于 1 - 9999 之间的过滤器
检查“状态”字段是否等于 1 的过滤器。
那么我需要对上面的内容进行布尔查询吗?将标题和状态设置为(必须),将价格设置为(应该)
或者我可以简单地做一些类似的事情:
'filtered' => [
'filter' => [
['term' => [ 'status' => 1] ],
[ 'range' => [
'price' => [
'gte' => 1,
'lte' => 99999,
]
]
],
'query' => [
'match' => Input::get('query', ''),
],
],
],
或更新:
'filtered' => [
'query' => [
'match' => ['title' => Input::get('query')]
],
'filter'=> [
'bool' => [
'must' => [
['term' => [ 'active' => 1] ],
[ 'range' => [
'price' => [
'gte' => 1,
'lte' => 99999,
]
]
]
]
]
],
],
【问题讨论】:
标签: php mysql search laravel elasticsearch