问题描述
我有一个在服务器上运行的ElasticSearch实例。当我尝试使用多处理对巨大的语料库建立索引时,出现很多超时错误。看来EasticSearch只能处理少量请求。我遵循了ElasticSearch网站中建议的配置。关于如何提高多处理设置的索引编制性能,是否有任何建议?我要添加文档的索引只有一个分片。
解决方法
您可以做很多工作。
-
首先,您需要设置 refresh_interval 。 刷新间隔是添加的文档可用于搜索的时间。如果可以容忍,则将其至少设置为30秒或-1。我已经读到,这将使索引编制性能提高约70%。
-
您可以尝试的第二件事是使用批量索引API而不是单个文档索引。
-
禁用交换可以在某些特殊情况下为您带来更高的性能。
-
您可以尝试的其他选项之一是增加分配给elasticsearch的RAM大小;
-
最后,增加用于索引的HEAP的大小可以提高写入性能。默认大小是所有堆大小的10%。
我希望以上几点对您有帮助。