ElasticSearch超时错误:ReadTimeoutErrorHTTPConnectionPoolhost ='localhost',port = 9200:读取超时读取超时= 60

问题描述

我有一个在服务器上运行的ElasticSearch实例。当我尝试使用多处理对巨大的语料库建立索引时,出现很多超时错误。看来EasticSearch只能处理少量请求。我遵循了ElasticSearch网站中建议的配置。关于如何提高多处理设置的索引编制性能,是否有任何建议?我要添加文档的索引只有一个分片。

解决方法

您可以做很多工作。

  • 首先,您需要设置 refresh_interval 刷新间隔是添加的文档可用于搜索的时间。如果可以容忍,则将其至少设置为30秒或-1。我已经读到,这将使索引编制性能提高约70%。

  • 您可以尝试的第二件事是使用批量索引API而不是单个文档索引。

  • 禁用交换可以在某些特殊情况下为您带来更高的性能。

  • 您可以尝试的其他选项之一是增加分配给elasticsearch的RAM大小;

  • 最后,增加用于索引的HEAP的大小可以提高写入性能。默认大小是所有堆大小的10%。

我希望以上几点对您有帮助。