我有一个带有scheduleId的简单文档。我想得到最近的ScheduleId的文件数。假设Max ScheduleId是最新的,我们将如何编写该查询。我一直在搜索和阅读几个小时,可以让它工作。
{
"aggs": {
"max_schedule": {
"max": {
"field": "ScheduleId"
}
}
}
}
这就是让我获得Max ScheduleId以及该聚合的一面文件总数。
如果有人可以帮助我如何获取此聚合值并将其应用为过滤器(如SQL中的子查询!),我将不胜感激。
答案 0 :(得分:1)
这应该这样做:
{
"aggs": {
"max_ScheduleId": {
"terms": {
"field": "ScheduleId",
"order" : { "_term" : "desc" },
"size": 1
}
}
}
}
terms aggregation将为您提供每个术语的文档计数,并且它适用于整数。您只需按术语而不是按计数(默认值)来排序结果。由于您只想要最高ScheduleID
,"size":1
就足够了。
以下是我用来测试它的代码:
http://sense.qbox.io/gist/93fb979393754b8bd9b19cb903a64027cba40ece