一:概念
根据查询api删除数据
POST twitter/_delete_by_query
{
"query":{
"match": {
"message": "cool"
}
}
}
执行结果如下:
{
"took": 121,
"timed_out": false,
"total": 1,
"deleted": 1,
"batches": 1,
"version_conflicts": 0,
"noops": 0,
"retries": {
"bulk": 0,
"search": 0
},
"throttled_millis": 0,
"requests_per_second": -1,
"throttled_until_millis": 0,
"failures": []
}
结果字段解释:
took
从整个操作的开始到结束的毫秒数。
timed_out
true如果在通过查询执行删除期间执行的任何请求超时 ,则将此标志设置为。
total
已成功处理的文档数。
deleted
已成功删除的文档数。
batches
通过查询删除回滚的滚动响应数。
version_conflicts
按查询删除的版本冲突数。
noops
对于按查询删除,此字段始终等于零。它只存在,以便通过查询删除,按查询更新和reindex API返回具有相同结构的响应。
retries
通过查询删除尝试的重试次数。bulk是重试的批量操作search的数量,是重试的搜索操作的数量。
throttled_millis
请求睡眠符合的毫秒数requests_per_second。
requests_per_second
在通过查询删除期间有效执行的每秒请求数。
throttled_until_millis
在按查询响应删除时,此字段应始终等于零。它只在使用Task API时有意义,它指示下一次(自纪元以来的毫秒),为了符合,将再次执行受限制的请求requests_per_second。
failures
如果在此过程中存在任何不可恢复的错误,则会出现故障数组。如果这不是空的,那么请求因为那些失败而中止。使用批处理实现逐个查询,任何故障都会导致整个进程中止,但当前批处理中的所有故障都会被收集到数组中。您可以使用该conflicts选项来防止reindex在版本冲突中中止。
也可以一次删除多个索引多个type的文档,
post index1,index2/type1,type2/_delete_by_query
{
"query":{
"match_all":{}
}
}