有没有办法删除除一个索引之外的所有索引?
我们可以在 GET 请求中使用文档的元数据 _index :
GET _count
{
"query": {
"match": {
"_index": "indexname"
}
}
}
上面的查询没有意义,只是为了表明我们可以在我提到的查询中使用 _index 。
我试过下面的查询,但我猜 _all API 不支持查询。
DELETE _all
{
"query" : {
"bool" : {
"must_not" : [
{
"match": {
"_index": "indexname"
}
}
]
}
}
}
有没有办法在不使用批量 API 的情况下删除除 one/some 之外的所有索引?
最佳答案
尝试使用 multiple indices 语法。您可以使用 *
指定所有索引,然后使用 -
排除其中一些索引。
假设我们需要删除除 foo
和 bar
之外的所有索引,那么 HTTP 请求应该是
curl -X DELETE -i 'http://{server}:{port}/*,-foo,-bar'
关于elasticsearch - 删除 Elasticsearch 中除 one/some 之外的所有索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52060089/