如何在ElasticSearch中使用多个复合聚合?

时间:2018-11-01 18:03:29

标签: elasticsearch elasticsearch-aggregation

我试图在ElasticSearch中获得两个composite aggregations,但第二个总是给我一个空桶。

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
}

在响应中,您可以看到存储桶中有1000个对象的第一个聚合(total),但是第二个聚合(unique)始终为空。我试过交换聚合顺序,它始终是空的第二个。

[![第二个存储桶为空的响应] [2]] [2]

enter image description here

索引映射位于:https://github.com/datacite/shiba-inu/blob/2d632d341a22a8dca2afec3b01c3b34030144c9c/templates/aggregating_es.json

为什么它返回一个空桶?

0 个答案:

没有答案