如何从elasticsearch索引中删除所有文档

时间:2016-03-11 23:36:53

标签: elasticsearch

我正在尝试从索引中删除所有文档,并在CURL上收到以下错误。找不到uri [/logstash-2016.03.11/logevent/]和方法[DELETE]

的处理程序

这是我在Windows命令上的删除命令。

curl -XDELETE "http://localhost:9200/logstash-2016.03.11/logevent/"

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

您无法通过对类型执行删除来删除索引中的类型。

要解决您的问题,您有2个解决方案。

  1. 如果您的logstash索引中只有一个类型,请执行authorizationStatus。它将删除旧索引,但logstash将在处理下一个事件时重新创建它

  2. 您可以通过查询插件(https://www.elastic.co/guide/en/elasticsearch/plugins/2.2/plugins-delete-by-query.html)安装删除并执行以下操作:

    curl -XDELETE "http://localhost:9200/logstash-2016.03.11

答案 1 :(得分:1)

curl -XPOST "http://localhost:9200/logstash2016.03.11/logevent/_delete_by_query" -d'
{
     "query":{
          "match_all":{}
      }
}'
  

按查询删除API是新的,仍应予以考虑   实验。 API可能会以不倒退的方式发生变化   兼容

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html