计算elasticsearch中具有唯一*值*的文档数

时间:2014-10-24 07:56:05

标签: elasticsearch

假设我的索引包含以下格式的文档:

{
   "_id": "IDIDIDIDID"
   "IP": "xxx.xxx.xxx.xxx",
   "NetworkID": "foobar"
}

我想计算(IP, NetworkID)的唯一组合数。我知道如何(大约)单个字段:cardinality aggregation。我不知道如何为多个领域做这件事。有没有办法直接使用elasticsearch进行,或者唯一的方法是离线处理?

1 个答案:

答案 0 :(得分:0)

使用您提到的相同基数聚合的脚本:

{
  "aggs": {
    "counts": {
      "cardinality": {
        "script": "doc['IP'].value + ' ' + doc['NetworkID'].value"
      }
    }
  }
}