ElasticSearch聚合获得唯一的整数数组

时间:2018-06-12 16:05:32

标签: elasticsearch elasticsearch-aggregation

我将ElasticSearch用于许多聚合类型,我遇到了一个基本问题:

我在名为' tags'的字段中有整数数组。有我的文件样本:

{
    "id": 1,
    "tags":[ 1, 2, 3 ]
},{
    "id": 2,
    "tags":[ 2, 3 ]
},{
    "id": 3,
    "tags":[ 3 ]
},{
    "id": 4,
    "tags":[ 2, 3 ]
}

我需要对所有唯一数组进行聚合,如下所示:

[
    {
        "key" : [ 1, 2, 3 ],
        "doc_count" : 1
    },
    {
        "key" : [ 2, 3 ],
        "doc_count" : 2
    },
    {
        "key" : [ 3 ],
        "doc_count" : 1
    }
]

这可能吗?

基本术语聚合给出的结果不是我想要的结果:

[
    {
        "key" : 1,
        "doc_count" : 1
    },
    {
        "key" : 2,
        "doc_count" : 2
    },
    {
        "key" : 3,
        "doc_count" : 3
    }
]

使用字符串,我知道可以通过禁用分析器来实现,但我在数组中找不到任何整数。

我使用的是ElasticSearch 6.0.0。

感谢您的关注

0 个答案:

没有答案