Как использовать несколько составных агрегатов в ElasticSearch? - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь получить два составных агрегата в ElasticSearch, но второе всегда дает мне пустое ведро.

GET /resolutions/_search

{
    "query": {
        "query_string": {
            "query": "*"
        }
    },
    "aggs": {
        "total": {
            "composite": {
                "sources": [
                    {"doi": {"terms": {"field": "doi"}}},
                    {"access_method": {"terms": {"field": "access_method"}}}
                ],
                "size": 10000
            }
        },
        "unqiue": {
            "composite": {
                "sources": [
                    {"doi": {"terms": {"field": "doi"}}},
                    {"access_method": {"terms": {"field": "access_method"}}},
                    {"session": {"terms": {"field": "session"}}}
                ],
                "size": 10000
            }
        }
    },
    "size": 0,
    "track_total_hits": false
}

В ответе вы можете увидеть первую агрегацию (total) с тысячами объектов в корзине, но вторая агрегация (unique) всегда пуста. Я попытался поменять местами порядок агрегаций, и это всегда второй порядок, который пуст.

[! [Ответ с пустым вторым ведром] [2]] [2]

enter image description here

Отображение индекса в: https://github.com/datacite/shiba-inu/blob/2d632d341a22a8dca2afec3b01c3b34030144c9c/templates/aggregating_es.json

Почему он возвращает пустое ведро?

...