给定文档:书籍
[
{
name: "book a",
authors:
[
{
name: "John",
}
{
name: "Paul"
}
]
},
{
name: "book b",
authors:
[
{
name: "Paul"
}
]
}
]
目标:返回匹配name
= book a
且匹配其中一个作者姓名为authors.name
= John
的书。
我尝试过:
"must": [
{
"bool": {
"should": [
{
"bool": {
"must": [
{
"term": {
"name": {
"value": "book a"
}
}
},
{
"bool": {
"should": [
{
"term": {
"authors.name": {
"value": "John"
}
}
}
]
}
}
]
}
}
]
}
}
]
Map名称:文本作者:动态的
1条答案
按热度按时间d4so4syb1#
您可以使用下图查询:
请注意,如果您使用的是ElasticSearch的动态Map,则使用
name.keyword
和authors.name.keyword
。否则,如果您指定了自定义Map,则使用name
和authors.name
。