使用delete_by_query命令删除Elasticsearch集群数据后,为什么磁盘使用率反而增加?
使用delete_by_query命令删除数据并不是真正意义上的物理删除,它只是对数据增加了删除标记。当再次搜索时,会搜索全部数据后再过滤掉带有删除标记的数据。
因此,该索引所占的空间并不会因为执行磁盘删除命令后马上释放掉,只有等到下一次段合并时才真正的被物理删除,这个时候磁盘空间才会释放。
相反,在查询带有删除数据时需要占用磁盘空间,这时执行磁盘删除命令不但没有被释放磁盘空间,反而磁盘使用率上升了。