elasticsearch 重新索引文档减少可用空间

Posted

技术标签:

【中文标题】elasticsearch 重新索引文档减少可用空间【英文标题】:elasticsearch reindex documents reduce free space 【发布时间】:2020-02-23 10:55:08 【问题描述】:

步骤: - 弹性搜索 2.3 - 在 ES 中创建文档 => ~ 使用了 1 GB 的磁盘 - 在 ES 中更新相同的文档 => ~ 使用 2 GB 的磁盘

为什么会这样? 是因为版本控制吗? 是否可以避免磁盘使用量翻倍?

目前我们使用 forcemerge (https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html),但需要几个小时。

【问题讨论】:

【参考方案1】:

当你在 ES 中索引一个已经存在的文档时,ES 会将之前的文档标记为已删除(但不会立即将其从索引中删除),并对新文档进行索引。

实际上,如果您的文档重 1K,则在您重新索引文档的新版本后,第一个文档占用的空间不会立即回收。因此,文档的第一个“版本”占用 1K,文档的第二个“版本”占用另一个 1K。删除已删除文档的唯一方法是调用您发现的 Force Merge API,或者等到段在后台自动合并。您真的不必担心这个过程。

【讨论】:

这个运气好吗?

以上是关于elasticsearch 重新索引文档减少可用空间的主要内容,如果未能解决你的问题,请参考以下文章

远程重新索引 API AWS ElasticSearch 空指针异常

在 Elasticsearch 中将每月索引重新索引为每日索引

Elasticsearch----ES集群管理

Elasticsearch我们如何在 5 天内在同一个 Elasticsearch 集群中重新索引 360 亿份文档

Elasticsearch:过滤具有空geo_point值的文档

Elasticsearch:如何在 Elasticsearch 中搜索空值