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

友情关注:2021年底即将推出我们墨飞鱼团队历时大半年研发的灵感写作平台,在墨飞鱼这里希望能帮助更多人找到阅读与写作的乐趣, 敬请收藏了解,12月底见哦~

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

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);
		}
	}

声明:文章由作者本人的亲历及经验总结,属个人原创文章,欢迎转载并注明出处,个博原文的链接地址见:
https://tech.limuqiao.com/archives/43.html

猜你喜欢

转载自blog.csdn.net/mini_snow/article/details/114501229