是否可以删除除一个索引以外的所有索引?
我们可以在 GET 请求中使用文档的元数据 _index :
GET _count
{
"query": {
"match": {
"_index": "indexname"
}
}
}
上面的查询没有任何意义,而只是表明我们可以在我提到的查询中使用 _index 。
我尝试了以下查询,但是我猜 _all API不支持查询。
DELETE _all
{
"query" : {
"bool" : {
"must_not" : [
{
"match": {
"_index": "indexname"
}
}
]
}
}
}
是否可以在不使用批量API的情况下删除一个或多个索引以外的所有索引?
答案 0 :(得分:4)
尝试使用multiple indices语法。您可以使用*
指定所有索引,然后使用-
排除其中一些。
假设我们需要删除除foo
和bar
以外的所有索引,因此HTTP请求应为
curl -X DELETE -i 'http://{server}:{port}/*,-foo,-bar'