是否可以删除elasticsearch索引中特定类型的所有文档? - 它是否也会影响类型映射? - 我想保留该类型的映射。
使用elasticsearch 2.2
答案 0 :(得分:1)
找到与此here相关的答案。以下内容直接来自该答案。
您可以使用delete-by-query插件43。这是一个例子:
我们创建一个包含两种类型的索引并添加一些文档:
POST /_bulk
{"index":{"_index":"mammals","_type":"people"}}
{"tag_line":"I am Mike"}
{"index":{"_index":"mammals","_type":"people"}}
{"tag_line":"I am Hanna"}
{"index":{"_index":"mammals","_type":"people"}}
{"tag_line":"I am Bert"}
{"index":{"_index":"mammals","_type":"animals"}}
{"tag_line":"I am a dog"}
{"index":{"_index":"mammals","_type":"animals"}}
{"tag_line":"I am a cat"}
当我们查询所有文件时,我们得到5个结果:
GET /mammals/_search?size=0
{
"query": {
"match_all": {}
}
}
现在我们可以删除所有“动物”类型的文件:
DELETE /mammals/animals/_query
{
"query": {
"match_all": {}
}
}
这仅在安装delete-by-query
插件时有效。
当我们再次搜索所有文件时,我们只得到3个结果,因为动物已经消失。
P.S:这个插件是2.x版本而不是5.x.所以在5.x中可以有其他方法来做到这一点。我相信这个删除不会影响映射,因为这只会删除单个文档。