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去重

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章