es[elasticsearch]多字段去重查询


最近有一个多字段去重查询的需求 但是在百度上查询之后 得到的结果都是只能单字段去重的 如下:

"aggs": { "uid_aggs": { "cardinality": { "field": "uid" } } }

所以这里推荐上不了谷歌的尽量用必应 能看懂英文的尽量用国际版查询

https://qbox.io/blog/minimizing-document-duplication-in-elasticsearch

参考上面的示例 可以用

"aggs":{

  "uid_aggs":{

    "cardinality": {

      "script":"doc['feild1'].toString + doc['feild2'].toString" # 任意多个字段

    }

  }

}

toString其实可以不要

这样就可以实现多字段去重查询

不过这个语法有一个缺点,在数据量太大的时候统计是不准确的,差不多有5%的误差


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM