用例:
我在elasticsearch中有10万以上的用户数据。
我需要找到唯一的用户id,它可以通过使用术语聚合找到
我需要所有的聚合桶,它是通过使用复合聚合解决的
现在,我需要根据用户最新更新的数据(基于最新的时间戳)对所有聚合桶进行排序。
注意:更新最新数据的用户应排在桶列表的第一位)
我该怎么做?
复合聚合+排序?或者别的什么?
注意:将有超过10k的用户,因此存储桶计数将超过10k。
示例用户数据
{
"_index": "logstash-2020.10.29",
"_type": "doc",
"_id": "L0Urc3UBttS_uoEtubDk",
"_version": 1,
"_score": null,
"_source": {
"@version": "1",
"@timestamp": "2020-10-29T06:56:00.000Z",
"timestamp_string": "1603954560",
"search_query": "example 3",
"user_uuid": "asdfrghcwehf",
"browsing_url": "https://www.google.com/search?q=example+3",
}
}
预期产量:
[
{
"key": "bjvexyducsls",
"doc_count": 846,
"1": {
"value": 1.603948557E12,
"value_as_string": "2020-10-29T05:15:57.000Z"
}
},
{
"key": "lhmsbq2osski",
"doc_count": 420,
"1": {
"value": 1.6039476E12,
"value_as_string": "2020-10-29T05:00:00.000Z"
}
},
{
"key": "m2wiaufcbvvi",
"doc_count": 1,
"1": {
"value": 1.603893635E12,
"value_as_string": "2020-10-28T14:00:35.000Z"
}
},
{
"key": "rrm3vd5ovqwg",
"doc_count": 1,
"1": {
"value": 1.60389362E12,
"value_as_string": "2020-10-28T14:00:20.000Z"
}
},
{
"key": "x42lk4t3frfc",
"doc_count": 72,
"1": {
"value": 1.60389318E12,
"value_as_string": "2020-10-28T13:53:00.000Z"
}
}
]
暂无答案!
目前还没有任何答案,快来回答吧!