Агрегации ElasticSearch получают уникальные массивы целых чисел - PullRequest
0 голосов
/ 12 июня 2018

Я использовал ElasticSearch для многих типов агрегатов и столкнулся с основной проблемой:

У меня есть целочисленный массив в поле, называемом «тегами».Вот образцы моих документов:

{
    "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.

Спасибо за ваше внимание

...