luchengtao11
聆听--风雨
采纳率100%
2017-12-22 13:27 浏览 6.8k

elasticsearch 如何批量删除重复数据?

5

elasticsearch中录入了许多重复数据,比如说我有username和password两个字段,elasticsearch中拥有许多username和password两个字段都一样但是id不一样的记录,该如何删除重复的数据只保留一条呢?在线等,挺急的。如下图
图片说明
目前共有一亿八千多万document,重复的估计得有个几千万
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答 默认 最新

  • 已采纳
    Cry_King Cry_King 2017-12-22 17:18

    可以自己写个工具,遍历所有数据,之后把当前数据的过滤条件拿出来,再进行组合查询,如果count>1,则删除留下一个。当然机器性能好可能会过滤快点

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2017-12-22 13:32

    应该把username作为主键,而不是另外搞id

    点赞 评论 复制链接分享
  • Cry_King Cry_King 2017-12-22 17:19

    当然在,组合查询那可以使用deleteByquery的插件,会提升很大的性能

    点赞 评论 复制链接分享
  • ccjjtt20 ccjjtt20 2017-12-23 02:10
    点赞 评论 复制链接分享

相关推荐