ES聚合排序

在一层聚合中设置聚合排序sort_time

二层聚合中:

  • 定义排序值来源 sort_timemaxupdated_at
  • ip_detailsort_time 同级,取 un_ip 的聚合中的详情。
{
  "size": 0,
  "aggs": {
    "un_ip": {
      "terms": {
        "field": "ip",
        "order": {
          "sort_time": "desc"
        }
      },
      "aggs": {
        "sort_time": {
          "max": {
            "field": "updated_at"
          }
        },
        "ip_detail": {
          "top_hits": {
            "_source": {
              "includes": [
                "country",
                "province",
                "city",
                "os_type"
              ]
            },
            "size":1
          }
        }
      }
    }
  }
}