gpt4 book ai didi

elasticsearch - 如果发生任何更新,如何在Elasticsearch中停止自动索引编制?

转载 作者:行者123 更新时间:2023-12-02 22:18:56 24 4
gpt4 key购买 nike

我在Elasticsearch中有一个很大的用例,其中有数百万条记录。

我会经常更新记录,例如每小时1000条记录。

我不希望 flex 搜索为每次更新重新编制索引。

我计划每周重新编制索引。

任何想法如何在更新时停止自动重新索引?

或者欢迎其他更好的建议。提前致谢 :)

最佳答案

Elasticsearch(ES)以以下方式更新现有文档。
1.删​​除旧文档。
2.为新文档建立索引并应用更改。

根据ES文档:-

In Elasticsearch, this lightweight process of writing and opening a new segment is called a refresh. By default, every shard is refreshed automatically once every second. This is why we say that Elasticsearch has near real-time search: document changes are not visible to search immediately, but will become visible within 1 second.



请注意,在ES提交/刷新磁盘高速缓存和磁盘上的这些更改之前,这些更改将是不可见/不可搜索的,这由软提交(刷新间隔,默认为1秒)和硬提交(实际上是写入)控制文档到磁盘,这比软提交可以防止文件永久丢失和昂贵的事务)。

您需要确保调整ES刷新间隔,并进行适当的负载测试,因为将其设置为非常低和非常高都有其优缺点。

例如,将其设置得非常少(例如1秒),并且如果您进行的更新太多而导致性能下降,则可能会导致系统崩溃。还将其设置得很高,例如1小时,这意味着您现在没有NRT(近实时搜索),并且在此期间,如果您的内存可能再次包含数百万个doc(取决于您的应用程序),并且可能导致内存不足错误,还要花这么大的内存是一件非常昂贵的事情。

关于elasticsearch - 如果发生任何更新,如何在Elasticsearch中停止自动索引编制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48089955/

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