首页 > 解决方案 > 从 Elasticsearch 中删除文档后未释放磁盘空间

问题描述

我有一个具有以下规格的弹性搜索节点:

elasticsearch中使用的磁盘索引和磁盘

我从索引中删除了几个文档,但我的磁盘空间似乎没有释放。上面的截图显示,Elasticsearch 中的实际文档只占用 1.5GB,disk.indicesdisk.used73.6GB。我发现仅删除文档并不会从elasticsearch中删除文档,而只会将其标记为已删除。我已尝试使用此答案中提到的forcemerge来释放磁盘空间,但我的磁盘空间仍然显示相同。

如何从 elasticsearch 中永久删除文档并释放磁盘空间?

标签: elasticsearch

解决方案


首先,您应该释放一些空间。报到 '。' 文件夹,看看里面有什么?

尝试du -sh *

接着:

作为_cat/indices响应,您有 1119 已删除文档。并且根据错误,您应该首先反转 read_only_indices:

集群块期望

然后运行这个命令:

curl  -H'Content-Type:application/json' -XPOST localhost:9200/{AN-INDEX-NAME}/_forcemerge?max_num_segments=1

推荐阅读