【发布时间】:2020-12-05 00:12:24
【问题描述】:
考虑一下这个 JSON 内容:
{
students: [
{
student_name: aaa,
classes: [
{
name: class1,
properties: {
id: 1
}
},
{
name: class2,
properties: {
id: 2
}
}
},
{
student_name: bbb,
classes: [
{
name: class2,
properties: {
id: 1
}
}
}
]
}
students 没有嵌套。 classes 没有嵌套。我只想通过以下查询匹配 student_name aaa 文档:
{
"query": {
"bool": {
"must": [
{ "term": { "classes.name": "class1" }},
{ "term": { "classes.properties.id": "1" }}
]
}
}
}
但我的查询同时匹配 aaa 和 bbb,因为它将我的术语语句视为单独的查询。我怎样才能匹配学生aaa?
【问题讨论】:
-
在第一部分,为什么
[的数量(3)与]的数量(1)不匹配?不应该吗?这似乎不是有效的 JSON。
标签: arrays elasticsearch match