弹性搜索基于交易次数获得前十名结果

时间:2019-02-12 19:59:28

标签: elasticsearch elasticsearch-aggregation

我正在寻找以下任务的一些想法/建议,我是Elasticsearch的新手,所以请原谅我对此主题的无知:

我们的系统中有n个恩人。每个用户可以向其受赠人进行n次交易。任务是向捐赠者展示最高的捐赠者(基于每月的交易数)。由于交易数量巨大,因此每天需要进行50-60千笔交易。 我正在考虑将交易数据吸收到elascticsearch中,然后根据受益人汇总30天的数据,并查询该汇总以选择排名前10位的完成者。

我有几个问题:

  1. 据我了解,聚合将实时进行,添加到Elasticsearch中的每笔交易也将反映在聚合中,如果我以每秒1000-5000个请求查询聚合,这将如何执行。

    < / li>
  2. 如果第1点将导致任何开销和缓慢,那么我可以每晚进行一次聚合,然后仅从该数据(24小时的陈旧数据)中显示从头到尾的数据,我的问题是我可以将该聚合缓存24小时,然后再与每夜的工作重新聚合。

  3. 还有其他方法可以实现吗?任何其他简单的解决方案。

我正在阅读Elasticsearch文档,并尝试获得可用的样本。我将非常感谢社区的任何帮助。

集群中有5个r4.2xlarge节点。

0 个答案:

没有答案