ES多字段去重

-- 利用collapse和cardinality进行单字段去重https://blog.csdn.net/qq_43564245/article/details/128554317

GET /bank/_search

复制{
  "query": {
     "match_phrase": {
        "address":"mill"
    }
  },
  "sort": [
    {
      "account_number": "desc"
    },
    {
      "balance": "asc"
    }
  ],
  "collapse": {
    "field": "state.keyword"
  },
  "track_total_hits": true,
    "aggs": {
      "courseAgg": {
        "cardinality": {
          "field": "state.keyword"
        }
      }
    }
}

第一次根据state去重

-- 多个字段去重

GET /bank/_search

复制{
  "query": {
    "match_phrase": {
      "address": "mill"
    }
  },
  "sort": [
    {
      "account_number": "desc"
    },
    {
      "balance": "asc"
    }
  ],
  "aggs": {
    "uv": {
      "cardinality": {
        "script": "doc['state.keyword'].value + '#' + doc['firstname.keyword'].value"
      }
    }
  }
}

第二次根据state和firstname去重

posted @   748573200000  阅读(589)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示