Delete API | Elasticsearch Reference [7.6] | Elastic
语法
DELETE /<index>/_doc/<_id>
示例
DELETE /twitter/_doc/1
Delete by query API | Elasticsearch Reference [7.6] | Elastic
在通过查询请求处理删除时,Elasticsearch 会依次执行多个搜索请求,以找到要删除的所有匹配文档。对于每一批匹配的文档,都会执行批量删除请求。如果一个搜索或批量请求被拒绝,则请求最多重试10次,并有指数级的回退。如果达到最大重试限制,则处理停止,并在响应中返回所有失败的请求。任何成功完成的删除请求仍然会被保留,不会回滚。
可以设置 conflicts=proceed ,在发生版本冲突时候进行计数,而非停止、返回。
# 删除单个索引内容
POST twitter/_delete_by_query?conflicts=proceed
{
"query": {
"match_all": {}
}
}
# 删除多个索引内容
POST /twitter,blog/_delete_by_query
{
"query": {
"match_all": {}
}
}
# 使用 Range Query 查询条件
POST twitter/_delete_by_query?routing=1
{
"query": {
"range" : {
"age" : {
"gte" : 10
}
}
}
}
# 修改批量尺寸,默认为 1000
POST twitter/_delete_by_query?scroll_size=5000
{
"query": {
"term": {
"user": "kimchy"
}
}
}