{ "from": 0, "size": 110000, "query": { "bool": { "must": [ { "match": { "deviceid": 27143 } }, { "match": { "monkey": 46 } }, { "range": { "createtime": { "gte": "2023-03-14", "lt": "2023-06-14 23:59:59" } } } ] } }, "aggs": { "group_by_date": { "date_histogram": { "field": "createtime", "interval": "1d", "format": "yyyyMMdd" }, "aggs": { "max_id": { "max": { "field": "id" } }, "mon_value": { "terms": { "script": { "source": "doc['monvalue'].value?: 0" } } } } } } 如何查询最大id对应的monvalue的值
时间: 2023-07-09 08:53:57 浏览: 109
PYTHON学习教程:调用函数代码知识点讲解及练习.docx
可以使用 Elasticsearch 的子聚合功能,在 "max_id" 聚合里添加一个 "top_hits" 子聚合,然后指定返回最大id对应的完整文档,并取出该文档中的 "monvalue" 字段的值。修改后的查询请求如下所示:
```
{
"from": 0,
"size": 110000,
"query": {
"bool": {
"must": [
{
"match": {
"deviceid": 27143
}
},
{
"match": {
"monkey": 46
}
},
{
"range": {
"createtime": {
"gte": "2023-03-14",
"lt": "2023-06-14 23:59:59"
}
}
}
]
}
},
"aggs": {
"group_by_date": {
"date_histogram": {
"field": "createtime",
"interval": "1d",
"format": "yyyyMMdd"
},
"aggs": {
"max_id": {
"max": {
"field": "id"
}
},
"mon_value": {
"top_hits": {
"size": 1,
"_source": "monvalue"
}
}
}
}
}
}
```
执行这个查询后,可以得到每个日期的最大id对应的 monvalue 的值。
阅读全文