微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

解决方法

您可以做很多工作。

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

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

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。