例如,我的数据包含以下内容:
{
author: "test",
books: [
{
name: "first book",
cost: 50
},
{
name: "second book",
cost: 100
}
]
}
我想搜索包含cost > 40
所有图书的作者。该查询的外观如何?字段books
映射为nested property
。
答案 0 :(得分:1)
对于一本书的成本超过40(作为点击量)的作者姓名,查询中的内容将起作用
POST http://192.168.0.68:9200/library/Book/_search
{
"fields": ["author"],
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"nested": {
"path": "books",
"filter": {
"range": {
"books.cost": {
"gt": 40
}
}
}
}
}
}
}
}
对于费用大于40 的所有图书,我必须在收到回复后在客户端手动处理嵌套字段的集合。
不确定此处是否应用脚本将过滤器应用于所有嵌套对象。
<强>参考强>