elasticsearch - 删除 Elasticsearch 中除 one/some 之外的所有索引?

标签 elasticsearch kibana

有没有办法删除除一个索引之外的所有索引?

我们可以在 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 语法。您可以使用 * 指定所有索引,然后使用 - 排除其中一些索引。

假设我们需要删除除 foobar 之外的所有索引,那么 HTTP 请求应该是

curl -X DELETE -i 'http://{server}:{port}/*,-foo,-bar'

关于elasticsearch - 删除 Elasticsearch 中除 one/some 之外的所有索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52060089/

相关文章:

elasticsearch - Elasticsearch将日期与斜杠字符匹配

elasticsearch - 在 kibana 中将数学添加到指标中

java - 使用Logstash存储在Elasticsearch中需要@timestamp字段吗?

elasticsearch - 在Kibana中嵌入HTML的自定义字段

elasticsearch - Kibana发现:搜索特殊字符: '@'

c# - 选择具有特定数量的嵌套文档项目的文档

elasticsearch - 如何在ES中定期自动删除索引?

elasticsearch - 重新索引 Elasticsearch 不会返回所有文档

在多个索引上同时以恒定速率将数据推送到 Elasticsearch 时出现性能问题

elasticsearch - 在 bluemix Kibana 中正确解析我的容器日志