elasticsearch - 是否可以在读写索引上使用 only_expunge_deletes 强制合并?

标签 elasticsearch

根据force merge文档:

Force merge should only be called against read-only indices. Running force merge against a read-write index can cause very large segments to be produced (>5Gb per segment), and the merge policy will never consider it for merging again until it mostly consists of deleted docs. This can cause very large segments to remain in the shards.

但是,我不确定是否可以在读写索引上使用 only_expunge_deletes 运行 forcemerge 。使用 only_expunge_deletes 选项生成非常大的段的风险是否仍然存在?如果是这样,当不手动调用 forcemerge 时,ES 通常如何回收空间?

最佳答案

正如引用的文档中提到的,forcemerge 应该只在只读索引上调用。

为了回答您的问题,ES constantly merges segments并在此过程中删除已删除的文档,因此您永远不必担心这一点。

您可以在 this great video 中想象这是如何发生的.

关于elasticsearch - 是否可以在读写索引上使用 only_expunge_deletes 强制合并?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55903641/

相关文章:

elasticsearch - 订单Elasticsearch聚合

elasticsearch - 加入/合并Elasticsearch结果

java - 仅获取聚合会导致Elasticsearch

mysql - 使用 Elasticsearch 5 按特定值排序或排序

jdbc - Elastic Search JDBC River 插件 SQL Server 集成安全性

elasticsearch - Logstash/Elasticsearch的Grok模式

elasticsearch - 如何在语言分析器中使用嵌套映射

sql - elasticsearch喜欢选择...在哪里...分组...有

ruby-on-rails - 使用 Chewy Gem 获得超过 10 个结果 - ElasticSearch & Rails

elasticsearch - Elasticsearch有时在索引期间不响应