Elasticsearch删除所有数据

项目中碰到一个elasticsearch的purge需求,就是说在不删除index和type的前提下,清除其中的所有数据。

用es的delete by query api可以做到,尽管官方声明deprecated in 1.5.3,但是经过测试1.8还是可以用的(真不敢想象要是不能用了怎么办。。。连个purge的api都没有。。),语法如下:

DELETE /<index>/<type>/_query -d '{

    "query" : { 

        "match_all" : {}

    }

}'

简单来说就是根据查询条件查出所有符合条件的数据然后删掉,然后传入的查询条件是match_all。

注意DELETE /<index>/* 也可以删除所有数据,但相应的mapping也都没了,还不如重建索引。

猜你喜欢

转载自kane-xie.iteye.com/blog/2256024