gpt4 book ai didi

elasticsearch - 在ElasticSearch中改善首次索引的方法

转载 作者:行者123 更新时间:2023-12-03 00:34:03 25 4
gpt4 key购买 nike

在我的应用程序中,我需要不时重新索引所有数据。我注意到,第一次索引数据(通过批量索引)所花费的时间比随后的重新索引要慢得多。在一种情况下,第一次执行索引大约需要2个小时,而随后的索引大约需要15分钟(索引相同的数据)。

虽然第一次索引需要2个小时,但我很好奇为什么随后的索引重新索引迭代要快得多。而且,我想知道是否有什么我可以做的事情来改善第一次索引时的性能,例如也许通过指示索引将是多大等等。

谢谢,
埃里克

最佳答案

编辑了以删除对merge_factor的引用,因为在ES 2.0中已将删除了它。:https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking_20_setting_changes.html#_merge_and_merge_throttling_settings

正如 Damien 所指出的那样,您确实可以影响(批量)索引设置-完成批量索引后,可以将refresh_interval临时设置为-1,并重新设置为1s的默认值。另一个要修改的设置是merge.policy.merge_factor;将其设置为较高的值,例如30,然后将其设置为默认的10

关于优化批量索引,有许多教程和邮件列表讨论,但是这里有一些正式的文档链接以以下内容开头:

http://www.elasticsearch.org/guide/reference/index-modules/merge/
http://www.elasticsearch.org/guide/reference/api/admin-indices-update-settings/

如果尚未调整JVM的内存设置,则应该进行调整。尽管特定于运行Ubuntu 10.04服务器的512mb VPS,但这些设置(http://pastebin.com/mNUGQCLY)应该为您指明正确的方向。基本上,在启动时将所需数量的RAM分配给Elasticsearch可以改善JVM内存分配/ GC计时。

关于elasticsearch - 在ElasticSearch中改善首次索引的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18323719/

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