Skip to main content
 首页 » 编程设计

释放Elasticsearch存储空间

2022年07月19日157over140

Elasticsearch删除文档并没有真正删除,仅作了删除标记,从而不能再被搜索到。为了回收磁盘空间,需要_forcemergeAPI进行清理和优化。

Force Merge API

为了理解Force Merge API,我们需要大概了解Elasticsearch的底层架构Lucene。当往索引中插入文档时,文档被映射到一个或多个分片。每个分片有多个段组成,段可理解为针对特定数据集进行处理的迷你索引。Force Merge API通过合并段减少分片中段数量、删除冗余数据,优化Elasticsearch索引性能,

优化所有索引:

POST /_forcemerge?only_expunge_deletes=true 

优化单个索引:

POST /twitter/_forcemerge?only_expunge_deletes=true  

twitter 是索引名称

优化多个索引:

POST /twitter,facebook/_forcemerge?only_expunge_deletes=true  

twitterfacebook 是索引名称。

通过_cat验证删除的文档是否减少了。

GET /_cat/indices/<target> 
GET /_cat/indices 

本文参考链接:https://blog.csdn.net/neweastsun/article/details/114179242
阅读延展