我有快速搜索用户注册索引。我需要通过某些字段为每个事件实现搜索。 (每个事件都有注册,但当然,我将它们存储在一个索引中)
我正在尝试使用以下参数进行搜索:
'query' => [
'query_string' => [
'query' => $query,
'fields'=> ['name', 'lastName', 'email', ...]
],
],
]
但我还需要指定一个术语,它应该在注册中搜索特定事件。我的索引中有一个关键字字段: event_id 。
如何将此术语(event_id)添加到当前搜索请求中?
PS:已过滤已被删除(替换为 bool ,但不支持 query_string )
或者为每个事件指定不同的索引类型: _type 会更好吗?
答案 0 :(得分:2)
使用bool/filter
,您绝对可以包含query_string
和term
查询。试试这样:
'query' => [
'bool' => [
'filter' => [
[
'query_string' => [
'query' => $query,
'fields'=> ['name', 'lastName', 'email', ...]
],
],
[
'term' => [
'event_id' => '123'
]
]
]
]
]