elasticsearch删除脏数据(根据指定字段删除数据)

场景

es中出现几条脏数据,现在要把这几条数据直接删掉

思路

找到要删除的脏数据,一般是根据id之类的字段来删除,因为id具有唯一性,其实和mysql差不多

执行

1、先查到该条记录(注意我们这边使用的是 ticketId字段,因为他具有唯一性,方便查询)

GET remedy-changetask_2023-05/_search
{
 "query": {
   "term": {
     "ticketId": {
       "value": "fdecd6df57ef47f7b51c8c42bf46b55c"
     }
   }
 }
}

返回结果
elasticsearch删除脏数据(根据指定字段删除数据)_第1张图片

2、接下来就把 ticketId 为 fdecd6df57ef47f7b51c8c42bf46b55c的数据给删除掉

POST remedy-changetask_2023-05/_delete_by_query
{
 "query": {
   "term": {
     "ticketId": {
       "value": "fdecd6df57ef47f7b51c8c42bf46b55c"
     }
   }
 }
}

elasticsearch删除脏数据(根据指定字段删除数据)_第2张图片

总结

1、找到要删除脏数据的唯一标识,,根据这个唯一标识来删除
2、查询和删除的语法类似,查询使用 search ,删除使用delete_by_query

你可能感兴趣的:(elasticsearch,elasticsearch,大数据,搜索引擎,java,elk)