python - 如何在python中加快Elasticsearch滚动

标签 python elasticsearch

我需要通过es api获取特定时间段的数据,并使用python对这些数据进行一些自定义分析,并将结果显示在仪表板上。

每15分钟大约有20万条记录,按日期索引。

现在我使用滚动扫描来获取数据,但是要花费近一分钟才能获得200000条记录,这似乎太慢了。

有什么方法可以更快地处理这些数据吗?我可以使用redis之类的方法保存结果并避免重复的工作吗?

最佳答案

是否可以使用聚合在Elasticsearch方面进行分析?

假设您尚未执行此操作,则应使用_source仅下载所需的绝对最小数据。您也可以尝试将size参数从默认值1000增加到scan()。但是,我希望仅对此进行适度的速度改进。

如果历史数据不变,那么像Redis这样的缓存(甚至只是本地文件)可能是一个很好的解决方案。如果历史数据可以更改,则必须管理缓存无效。

关于python - 如何在python中加快Elasticsearch滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60656675/

相关文章:

python - 发送电子邮件时 Django 线程是否被阻塞?

Python 获取请求返回与查看源代码不同的 HTML

python - 如何使用 elasticsearch python API 正确构造查询?

elasticsearch - Elasticsearch对嵌套字段的不同计数

python - 从给定的 I 和 D 序列中形成最小数

python - 如何将python连接到sqlite3并一次填充多行

python - 如何使用 SQLAlchemy 获取列值?

elasticsearch - 是否热衷于使用轮胎在custom_filters_score的条件过滤器上设置minimum_match?

elasticsearch - 在Elasticsearch中创建时在另一个索引中复制文档

java - 使用 Appdynamics 时是否需要 ELK-stack 或 Graphite?