【问题标题】:Writing CSV from Elasticsearch result using python with records exceeding 10000 ?使用 python 从 Elasticsearch 结果中写入超过 10000 条记录的 CSV?
【发布时间】:2018-04-22 02:55:37
【问题描述】:

我能够使用此处提供的解决方案创建 CSV:

Export Elasticsearch results into a CSV file

但是当记录超过10000(size=10000)时就会出现问题,有没有办法把所有记录都写出来?

【问题讨论】:

  • 我建议查看paginationscroll apielasticsearch-py scroll helper 在这里可能有用。然后,您可以发布有关问题所在的详细信息,人们可能会提供帮助。
  • 谢谢,看看 scroll api ,这可能会解决我的问题。

标签: python csv elasticsearch


【解决方案1】:

您在问题中给出的方法使用 elasticsearch 的 Python API,并且 es.search 确实有 10,000 个文档检索限制。

如果你想检索超过 10,000 的数据,正如评论中 dshockley 所建议的,你可以尝试滚动 API。或者,您可以尝试使用 elasticsearch 的 scan helpers,它可以使用滚动 API 自动完成很多工作。例如,您不需要获取一个 scroll_id 并将其传递给 API,如果您直接使用滚动,这将是必需的。

使用helpers.scan时,需要在调用函数时在参数中指定index和doc_type,或者写在查询体中。请注意,参数名称是“查询”而不是“正文”。

【讨论】:

  • 谢谢,使用滚动 api 可以得到 csv 文件中的所有结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-23
  • 1970-01-01
  • 2021-11-27
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多