【问题标题】:Elasticsearch distinct count on nested fieldsElasticsearch 对嵌套字段的不同计数
【发布时间】:2018-07-04 22:06:31
【问题描述】:

根据文档,可以通过使用基数来近似实现不同的计数。 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”,这会导致错误。

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

【问题讨论】:

  • 错误是什么?因为字段 foo.bar 它对我来说很好。您也可以发布映射的相关部分吗?谢谢
  • 错误是:“默认情况下,文本字段上的字段数据是禁用的。在 [foo.bar] 上设置 fielddata=true 以便通过反转倒排索引将字段数据加载到内存中。但是请注意,这可以使用大量内存。或者使用关键字字段。我不知道“映射的相关部分”是什么意思,对不起,我是弹性搜索的新手。

标签: elasticsearch


【解决方案1】:

使用这个:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-07
    • 2017-09-17
    • 1970-01-01
    • 2015-07-30
    • 1970-01-01
    相关资源
    最近更新 更多