gpt4 book ai didi

java - 使用 Java 客户端从 Elasticsearch 导入/导出数据的最佳方式

转载 作者:行者123 更新时间:2023-12-03 09:43:08 27 4
gpt4 key购买 nike

我正在将数百万条记录摄取到 Elasticsearch 中,并从 Elasticsearch 中提取记录。我实际上使用的是 Elasticsearch Java 客户端。我在每个 JVM 上只创建一个客户端。使用这个客户端,将数据摄取到 Elasticsearch 中,并使用它从 Elasticsearch 中提取数据。提取数据写入文件并进行一些分析,再次写入文件并将数据摄取回 Elasticsearch 。

  • 这是在一个 JVM 上仅创建一个 Java 客户端并使其保持 Activity 状态的最佳方式吗?
  • 或在需要时创建客户端并摄取/提取数据,关闭它。
  • 或者创建客户端池并重用它。 (比如连接池)

  • 做这个的最好方式是什么 ?

    最佳答案

    这是一个非常好的问题,但根据我在真正可扩展和庞大的 Elasticsearch 系统方面的经验,我在单个 JVM 中没有看到多个 ES 客户端,这些客户端是单例和线程安全的,出于以下原因,您也应该坚持使用单个 ES每个 JVM 的客户端。

  • 出于性能原因,您应该在 elasticsearch 客户端进行优化,就像在您的情况下一样,您可以拥有 dedicated ingest node以提高摄取速度。
  • 您也可以拥有一个 dedicated co-ordinated node进一步提高搜索速度。
  • 每个 JVM 拥有更少的客户端也会导致更少的内存利用率和更少的应用程序困惑。
  • 关于java - 使用 Java 客户端从 Elasticsearch 导入/导出数据的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38381316/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com