例如,我有包含以下内容的数据:
{
author: "test",
books: [
{
name: "first book",
cost: 50
},
{
name: "second book",
cost: 100
}
]
}
我想搜索拥有所有书籍的作者cost > 40
。查询会是什么样子?该字段books
映射为nested property
。
例如,我有包含以下内容的数据:
{
author: "test",
books: [
{
name: "first book",
cost: 50
},
{
name: "second book",
cost: 100
}
]
}
我想搜索拥有所有书籍的作者cost > 40
。查询会是什么样子?该字段books
映射为nested property
。
对于一本书的成本大于 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的书籍,我必须在收到响应后在客户端手动处理嵌套字段的集合。
不确定脚本是否适用于此处以将过滤器应用于所有嵌套对象。
参考