Elasticsearch对嵌套字段的不同计数

时间:2018-07-04 12:34:12

标签: elasticsearch

根据文档,使用基数可以大致实现不重复计数。 https://www.elastic.co/guide/en/elasticsearch/guide/current/cardinality.html

我有大量这样的数据存储:

{
    {
        "foo": {
            "bar": "a1"
        }
    },
    {
        "foo": {
            "bar": "a2"
        }
    }
}

并且我想对“ foo.bar”值进行不同的计数。

我的DSL查询:

{
    "size": 0,
    "aggs": {
        "number_of_bars": {
            "cardinality": {
                "field": "bar"
            }
        }
    }
}

返回“ number_of_bars”:0。我也在尝试“ field”:“ foo.bar”,这会导致错误。

你能告诉我,我在做什么错吗?

1 个答案:

答案 0 :(得分:2)

使用此功能:

{
    "size": 0,
    "aggs": {
        "number_of_bars": {
            "cardinality": {
                "field": "foo.bar.keyword"
            }
        }
    }
}