删除elasticsearch中重复数据记录的方法


根据查询条件删除特定的记录

POST /hk_tm_info_v1/_delete_by_query
{
  "query": {
    "bool": {
      "must_not": [
        {
          "exists": {
            "field": "app_date"
          }
        }
      ]
    }
  }
}

查询条件难以避开重复的话,可以使用java代码来对查询到结果进行处理,需要删除的数据加入到dataList中,然后批量删除来达到效果

    private void updateDataToES(BulkProcessor bulkProcessor,List<Map<String, Object>> dataList){
        // 将数据添加到 bulkProcessor 中
        for (Map<String, Object> rowMap : dataList) {
            String id = (String)rowMap.get("_id");
            
            DeleteRequest delRequest = new DeleteRequest(ESProcessor.HK_TM_INFO, id);

            bulkProcessor.add(delRequest);
        }
    }

声明:梨木乔の技术栈|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 删除elasticsearch中重复数据记录的方法


梨木乔の技术栈