【ES】分组后每组取第一条

表格如下:

想要获得所有测站最新的一条数据,即先对Station分组,根据time进行排序(降序),取第一条。

GET test/_search
{"query":{"bool":{"must":[{"match_all":{}}]}},"size":0,"aggs":{"stationAgg":{"terms":{"field":"Station","size":100,"min_doc_count":1},"aggs":{"top1":{"top_hits":{"size":1,"sort":[{"time":{"order":"desc"}}]}}}}}}

参考文章:

分组后进行排序取第一条,然后再过滤 - Elastic 中文社区

猜你喜欢

转载自blog.csdn.net/u013517229/article/details/124350976