2016-03-11 97 views
0

我想从我的索引中删除所有文档,并在CURL上获得以下错误。没有为uri发现处理程序[/logstash-2016.03.11/logevent/]和方法[DELETE]如何删除elasticsearch索引中的所有文档

这是我对Windows命令的删除命令。

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

任何人都可以帮忙吗?

+0

这应有助于:http://stackoverflow.com/questions/34286357/delete-all-documents-of-a-type- in-elasticsearch-2-1/34286459#34286459 – Val

+0

[删除索引/类型的所有文档而不删除类型]可能的副本(https://stackoverflow.com/questions/23917327/delete-all-documents-from-index- type-without-deletion-type) – j0k

回答

2

您不能通过对类型执行删除来从索引中删除类型。

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

  1. 如果你只在你logstash指标单一类型的,只是执​​行curl -XDELETE "http://localhost:9200/logstash-2016.03.11。这将删除旧的索引,但logstash将重新创建它时,它会处理下一个事件

  2. 您通过安装插件查询(https://www.elastic.co/guide/en/elasticsearch/plugins/2.2/plugins-delete-by-query.html)删除,然后运行是这样的:

    curl -XDELETE /logstash-2016.03.11/logevent/_query -d ' 
    { 
        "query": { "match_all": {}} 
    }' 
    
+0

感谢您的帮助。有没有一种很好的方式在窗口上传递curl命令。我使用命令shell,但输入多行CURL命令在那里很痛苦。 –

+0

对不起,我不使用Windows,但我想你可以把所有内容放在一行上。 '''curl -XDELETE /logstash-2016.03.11/logevent/_query -d'{“query”:{“match_all”:{}}}''''。另外,如果它适合你,你会介意接受答案吗? – maximede

相关问题