Elasticsearch:最近的日期聚合

Elasticsearch: Date Aggregation Most Recent

我有有效的查询。它根据 Id 聚合数据,并根据创建的字段找到 MOST RECENT 对象。我遇到的问题是我想找到 SECOND MOST RECENT 而不是 MOST Recent。我该怎么做?我一直在查看所有文档,我所能找到的只是范围,这对我没有太大帮助。谢谢:)

{
    "query":{
      "match": {
         "name": "Robert"
      }
    },
    "aggs": {
        "previous": {
            "terms": {
                "field": "Id",
                "order": {"timeCreated": "desc"}
            },
            "aggs": {
                "timeCreated": {
                    "max": {"field": "created"}
                }

            }
        }
    }
}

Top_hits 就是您要找的。使用这个:

{
"query":{
  "match": {
     "name": "A"
  }
},
"aggs": {
    "previous": {
        "terms": {
            "field": "Id"

        },
         "aggs": {
            "latestRecords": {
              "top_hits": {
                "sort": {
                  "created": {
                    "order": "desc"
                  }
                },
                "size" :2
              }
            }
          }
       }
     }
   }