【问题标题】:Elasticsearch why i cant do a accurate distinct on a field?Elasticsearch 为什么我不能在一个字段上做一个准确的区分?
【发布时间】:2021-01-21 02:18:04
【问题描述】:

尝试对包含字段值的索引进行多次计数。我的 SQL 数据和弹性数据有区别,这是为什么呢?

【问题讨论】:

  • 也许你需要展示一些示例数据、你的映射和你正在做的查询......帮助我们帮助你;-)

标签: elasticsearch kibana


【解决方案1】:

基数聚合给出了一个 不同值的计数。值可以从特定的 文档中的字段或由脚本生成的字段。

参考这里了解更多关于Cardinality Aggregation

您甚至可以参考此thread 以了解更多关于如何在 elasticsearch 上计数不同

【讨论】:

  • 但我这样做了,但它并没有给我准确的结果。在帖子中他们说这是一个近似计算
  • @Shahar 您能否提供一些示例数据、您正在使用的映射和搜索查询?
  • 我无法发布所有示例数据,但我做了一个包含 customer_id 的索引的简单示例,其中包含重复记录 sql 和 elastic 的总数为 11703。然后在 kibana 中我创建了一个度量可视化具有唯一计数的度量。在同一示例的不同 SQL 语句中,我得到 6678 条记录,而在 kibana 中,我得到 6671
【解决方案2】:

可以从 ES 中找到准确的 Distinct Count。您可以参考“Accurate Distinct Count and Values from Elasticsearch”上的文章以获得完整的解决方案以及与 Cardinality 的比较。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    相关资源
    最近更新 更多