我有一个在服务器上运行的ElasticSearch实例。当我尝试使用多处理对一个巨大的语料库进行索引时,我会遇到很多超时错误。EasticSearch似乎只能处理少数请求。我遵循了ElasticSearch网站上建议的配置。对于如何提高多处理设置的索引性能,有什么建议吗?我正在向其中添加文档的索引有一个碎片。
有很多工作可以做。
-
首先,您需要设置refresh_interval刷新间隔是添加的文档可用于搜索的时间。如果你能忍受的话,把它设置为至少30秒或-1。我读到这将使索引性能提高约70%。
-
您可以尝试的第二件事是使用批量索引API,而不是单个文档索引。
-
在某些特殊情况下,禁用交换可以提高性能。
-
你可以尝试的其他选项之一是增加你分配给弹性搜索的RAM大小;
-
最后,增加用于索引的HEAP的大小可以提高写入性能。默认大小是所有堆大小的10%。
我希望这些要点能对你有所帮助。