【发布时间】:2019-08-05 20:03:55
【问题描述】:
我正在尝试查询嵌套数组包含查询中传递的所有元素的文档。
索引存储组,每个组都有一个成员列表。我想查询包含给定成员的所有组。
映射:
"properties" : {
"members" : {
"type" : "nested",
"properties" : {
"name" : {
"type" : "keyword"
}
}
},
"name" : {
"type" : "text"
}
}
}
}
示例内容:
[
{
"name" : "group 1",
"members" : [
{
"name" : "alice"
},
{
"name" : "bob"
}
]
},
{
"name" : "group 2",
"members" : [
{
"name" : "alice"
},
{
"name" : "foo"
},
{
"name" : "bob"
}
]
},
{
"name" : "group 3",
"members" : [
{
"name" : "foo"
},
{
"name" : "bar"
}
]
}
]
如何找到所有同时拥有“alice”和“foo”成员的群组?
我尝试了以下查询,但它什么也没返回:
GET /group/_search
{
"query": {
"nested": {
"path": "members",
"query": {
"bool": {
"must": [
{"match": {"members.name": "alice"}},
{"match": {"members.name": "foo"}}
]
}
}
}
}
}
我也尝试过使用term 而不是match,但没有结果。
【问题讨论】:
标签: elasticsearch elasticsearch-6 elasticsearch-query