有一个常规搜索,我们正在寻找category_id特征的存在fields.id
"query" => [
"bool" => [
"must" => [
"match" => [
"category_id" => $category_id
], [
"exists" => [
"field" => "fields.$id"
]
]
]
]
]
搜索工作,任务是再添加一个检查特性的存在fields.id,但为了让它有一个操作符И,也就是说,你需要得到所有的产品,其中:
类别= 1
有一个特征id = 1
或 有一个特征id =2
在文档中,我发现了选择运算符的可能性,仅适用于match
"match" => [
"message" => [
"query": "this is a test",
"operator": "or"
]
]
是否有类似的解决方案exists
你只需要使用“应该”: https ://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html