前言

  • 本文对 Elasticsearch 7.17 实用

count distinct

  • 单字段

    "aggs": {  "card": {    "cardinality": {      "field": "type"    }  }}
  • 多字段

    "aggs": {  "multi_field_cardinality": {    "cardinality": {      "script": "doc['type'].value + '#' + doc['color'].value"    }  }}

    OR

    // 这个写法比下面的写法效率高很多{"runtime_mappings": {  "type_and_color": {    "type": "keyword",    "script": "emit(doc['type'].value + '#' + doc['color'].value)"  }},"aggs": {  "type_and_color": {    "cardinality": {      "field": "type_and_color"    }  }}}

相干浏览

  • Elasticsearch Cardinality aggregation 官网文档:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/...
  • StackOverflow:Getting cardinality of multiple fields?
本文出自 qbit snap