如何仅查询 location_idnull 或locations.country_id 在一组给定 ID 中的文档?这是当前查询,但它根本不返回任何内容...如果我从查询中删除 location_id,它会起作用并至少返回与国家/地区 ID 匹配的文档。{ "bool":{ "must":[ { "bool":{ "must_not":[ { "exists":{ "field":"location_id" } } ], "must":[ { "terms":{ "locations.country_id":[ 18 ] } } ] } } ] }}
1 回答
qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
在 elasticsearch 中,必须是 AND 并且应该表现得像 OR 您的查询转换为 locationId is null AND locations.country_id In [set of ids]。must需要换成should。
询问:
{
"query": {
"bool": {
"should": [
{
"bool": {
"must_not": [
{
"exists": {
"field": "location_id"
}
}
]
}
},
{
"terms": {
"locations.country_id": [
18
]
}
}
],
"minimum_should_match": 1
}
}
}
- 1 回答
- 0 关注
- 119 浏览
添加回答
举报
0/150
提交
取消