删除类型的所有文档并保留类型

时间:2014-02-27 09:34:24

标签: elasticsearch

我正在尝试删除一种类型的所有索引。试图执行此操作:

curl -XDELETE 'http://localhost:9200/myindex/mytype/_query' -d '{"query": {"match_all": {}}}'

但这不会删除任何内容。以下查询显示我的索引仍在那里。

curl -XGET 'http://localhost:9200/myindex/mytype/_search' | json -i

我做错了什么?

2 个答案:

答案 0 :(得分:2)

删除您在其上调用DELETE的整个类型

curl -XDELETE localhost:9200/myindex/mytype

这将删除索引mytype中的myindex类型。

请注意,这也删除了该类型的任何映射等。但我会认为这是一种更加资源友好的方式(但不能证明它)

答案 1 :(得分:1)

没关系。我从这个问题Delete records from Elasticsearch by query

中找到了这个答案

与请求一起发送的正文只是查询。所以基本上正确的要求是:

curl -XDELETE 'http://localhost:9200/myindex/mytype/_query' -d '{"match_all": {}}'