如何通过多个字段连接获得elasticsearch聚合

0 aggregate concatenation elasticsearch

我想通过两个或多个字段进行ES聚合,但不是一一聚合,而是将这些字段concat()为一个新字段,并按这些新字段进行聚合,那么如何做到这一点呢?谢谢

vvu*_*tic 5

虽然这是一篇旧文章,但可能对某人有用。像这样的事情可以工作:

GET index/_search
{
  "size": 0,
  "query":{ 
    "match_all": {}
  },
  "aggs": {
    "unique_count": {
      "cardinality": {
        "script": {
          "lang": "painless",
          "source": "doc['field1'].value + '#' + doc['field2'].value"
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)