删除 Elasticsearch 中除 one/some 之外的所有索引?
Delete all index except one/some in Elasticsearch?
有没有办法删除除一个以外的所有索引?
我们可以在 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'
有没有办法删除除一个以外的所有索引?
我们可以在 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'