【问题标题】:Elasticsearch indexing speed with Nodejs使用 Nodejs 的 Elasticsearch 索引速度
【发布时间】:2021-08-11 17:25:51
【问题描述】:

我有一个包含大量文档的 Elasticsearch 索引。到目前为止,我一直在使用 JavaScript 和 Node.js。我做了一个 cron 作业,每 24 小时运行一次,以根据任何元数据更改单独更新文档。你们中的一些人可能知道,这可能是最慢的方法。在 Elasticsearch 上具有单独索引的单线程 Node.js。当我运行 cron 作业时,它以蜗牛般的速度运行。我可以每 1.5-2 秒更新一次文档。这意味着更新所有文档大约需要 27 小时。我使用的是免费套餐 AWS ES 实例,因此我无法使用某些有助于加快流程的功能。

有人知道加快索引速度的方法吗?如果我要求进行批量更新,那将如何在 javascript 中体现?如果我要使用另一种语言对其进行多线程处理,最快的选择是什么?

【问题讨论】:

    标签: node.js amazon-web-services elasticsearch


    【解决方案1】:

    我不明白您的问题“如果我要求进行批量更新,这将如何体现在 javascript 中?”。

    无论任何语言/框架如何,批量更新都应该是最佳解决方案。当然,您可以探索 Ruby 等其他语言,以利用线程使批量更新更加分散和快速。

    根据经验,批量大小为 b/w 4-7k 的批量更新可以正常工作。您可能需要在此范围内微调大小。

    确保refresh_interval 的值设置为一个非常大的值。这将确保文档不会被非常频繁地编入索引。 IMO 默认值也可以。阅读更多here

    【讨论】:

      猜你喜欢
      • 2016-03-01
      • 2014-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-07
      • 2021-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多