我需要删除指定索引/类型中的多条记录。我遵循这个document stil我有同样的问题
我需要删除g_visitor索引中gvisitor类型的所有文档,我按照下面的命令
curl -XDELETE http://10.1.2.10:9200/g_visitor/gvisitor
抛出错误
No handler found for uri [/g_visitor/gvisitor] and method [DELETE]
然后按照安装按查询删除插件并尝试删除文档 ,
curl -XDELETE 'http://10.1.2.10:9200/g_visitor/gvisitor/_delete_by_query?conflicts=proceed' -d '{
"query" : {
"match_all" : {}
}
}'
低于错误:
{
"found":false,
"_index":"g_visitor",
"_type":"gvisitor",
"_id":"_delete_by_query",
"_version":1,
"_shards":{
"total":2,
"successful":1,
"failed":0
}
}
Suggeset me,我如何在elasticsearch中删除特定类型索引中的多个或所有文档。
答案 0 :(得分:2)
您无法删除映射类型,因此您的第一个查询无法正常工作。
您只能删除索引
curl -XDELETE http://10.1.2.10:9200/g_visitor
如果您想使用逐个查询的方法,可以这样做,但需要install the plugin first
sudo bin/plugin install delete-by-query
然后你可以通过调用_query
端点(而不是_delete_by_query
!!)来使用这样的插件:
curl -XDELETE 'http://10.1.2.10:9200/g_visitor/gvisitor/_query?conflicts=proceed' -d '{
"query" : {
"match_all" : {}
}
}'