On my elasticsearch server: total documents: 3 million, total size: 3.6G Then, I delete about 2.8 millions documents: total documents: about 0.13 million, total size: 3.6G
I have deleted the documents, how should I free the size of the documents?
Deleting documents only flags these as deleted, so they would not be searched. To reclaim disk space, you have to optimize the index:
curl -XPOST 'http://localhost:9200/_optimize?only_expunge_deletes=true'
documentation: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-optimize.html
The documentation has moved to: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html
Starting with Elasticsearch 2.1.x, optimize
is deprecated in favor of forcemerge
.
The API is the same, only the endpoint did change.
curl -XPOST 'http://localhost:9200/_forcemerge?only_expunge_deletes=true'