Elasticsearch在汇总和热门之后排序

时间:2019-01-21 10:46:03

标签: elasticsearch-5 elasticsearch-aggregation

要获取每个唯一用户上次登录时间的记录。我当前的实现如下。

{
  "query": { 
    "bool": { 
      "must": [
        { "match": { "something":"xxx"}}  
      ]
    }
  },
  "size":0,
  "aggs": {
        "user_last_login_time": {
            "terms": {
                "field": "userId"
            },
            "aggs": {
                "max_time": {
                    "top_hits": {
                        "sort": [
                            {
                                "loginTime": {
                                    "order": "desc"
                                }
                            }
                        ],
                        "_source": {
                            "includes": [ "tel", "addr" ]
                        },
                        "size" : 1
                    }
                }
            }
        }
    }
}

我想在top_hit的“ loginTime”之前订购。我尝试了许多解决方案,但都失败了。 有办法解决这个问题吗? 使用Elasticsearch 5.5

0 个答案:

没有答案