我知道可以通过deleteByQuery删除特定类型的所有文档。
示例:
curl -XDELETE 'http://localhost:9200/twitter/tweet/_query' -d '{
"query" : {
"term" : { "user" : "kimchy" }
}
}'
但我没有术语,只是想删除该类型的所有文档,无论是什么术语。实现这一目标的最佳实践是什么?空项不起作用。
发布于 2014-05-29 02:08:38
我相信,如果您将delete by查询与匹配所有查询组合在一起,它应该会执行您正在寻找的操作,如下所示(使用您的示例):
curl -XDELETE 'http://localhost:9200/twitter/tweet/_query' -d '{
"query" : {
"match_all" : {}
}
}'
或者您可以直接删除该类型:
curl -XDELETE http://localhost:9200/twitter/tweet
发布于 2017-05-17 22:17:54
从ElasticSearch 5.x开始,delete_by_query API默认存在
POST: http://localhost:9200/index/type/_delete_by_query
{
"query": {
"match_all": {}
}
}
发布于 2018-01-06 17:56:20
您可以使用以下查询从类型中删除单据:
POST /index/type/_delete_by_query
{
"query" : {
"match_all" : {}
}
}
我在Kibana和Elastic 5.5.2中测试了这个查询
https://stackoverflow.com/questions/23917327
复制相似问题