我想从我的索引中删除所有文档,并在CURL上获得以下错误。没有为uri发现处理程序[/logstash-2016.03.11/logevent/]和方法[DELETE]如何删除elasticsearch索引中的所有文档
这是我对Windows命令的删除命令。
curl -XDELETE "http://localhost:9200/logstash-2016.03.11/logevent/"
任何人都可以帮忙吗?
我想从我的索引中删除所有文档,并在CURL上获得以下错误。没有为uri发现处理程序[/logstash-2016.03.11/logevent/]和方法[DELETE]如何删除elasticsearch索引中的所有文档
这是我对Windows命令的删除命令。
curl -XDELETE "http://localhost:9200/logstash-2016.03.11/logevent/"
任何人都可以帮忙吗?
您不能通过对类型执行删除来从索引中删除类型。
要解决您的问题,您有2个解决方案。
如果你只在你logstash指标单一类型的,只是执行curl -XDELETE "http://localhost:9200/logstash-2016.03.11
。这将删除旧的索引,但logstash将重新创建它时,它会处理下一个事件
您通过安装插件查询(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": {}}
}'
感谢您的帮助。有没有一种很好的方式在窗口上传递curl命令。我使用命令shell,但输入多行CURL命令在那里很痛苦。 –
对不起,我不使用Windows,但我想你可以把所有内容放在一行上。 '''curl -XDELETE /logstash-2016.03.11/logevent/_query -d'{“query”:{“match_all”:{}}}''''。另外,如果它适合你,你会介意接受答案吗? – maximede
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
这应有助于:http://stackoverflow.com/questions/34286357/delete-all-documents-of-a-type- in-elasticsearch-2-1/34286459#34286459 – Val
[删除索引/类型的所有文档而不删除类型]可能的副本(https://stackoverflow.com/questions/23917327/delete-all-documents-from-index- type-without-deletion-type) – j0k