【问题标题】:How does Kibana know the supported aggregations of an (Elasticsearch) data type?Kibana 如何知道 (Elasticsearch) 数据类型支持的聚合?
【发布时间】:2021-02-09 23:29:55
【问题描述】:

我正在开发一个将 Elasticsearch 集成到自身中的平台。 该软件的某些部分基本上是 Elasticsearch 的一种前端。

Kibana 以某种方式知道特定 Elasticsearch 数据类型支持哪些聚合。 我检查了 Kibana 发送的 HTTP 请求,但找不到该信息的来源。 (也许,我不够彻底。)

所以,我的问题是: Kibana 如何确定 Elasticsearch 数据类型支持哪些聚合? 是否有可能通过 Elasticsearch API 获得,还是在客户端(在 Kibana 中)硬编码?

示例:

【问题讨论】:

    标签: elasticsearch kibana elastic-stack elasticsearch-aggregation


    【解决方案1】:

    Kibana 使用index patterns 作为关键概念。它知道这些索引的链接索引和底层字段结构(索引映射)。基于这些索引模式,Kibana 可以确定哪些aggregations 与特定字段兼容。

    例如,terms aggregation 适用于keyword 类型的字段或其他适合bucket aggregationsdata types。对于文本字段,您需要启用 fielddata 以使用术语聚合。

    如果您缺少特定字段的聚合,请检查使用具有不同数据类型的 multi-field 是否可以解决该问题。之后,更新 kibana 中的索引模式,您就可以在新的 multi-field 上进行聚合。

    【讨论】:

    • 感谢您的回答,虽然我已经知道了。我想知道的是如何请求 Elasticsearch 数据类型的支持聚合列表,以便我可以在我的应用程序中使用该列表。我可以想象目前如何处理这两种方式: 1. 可以通过 Elasticsearch API 请求支持的 Elasticsearch 数据类型聚合。 2. ES数据类型支持的聚合列表是硬编码在前端(Kibana)的。
    猜你喜欢
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 2021-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多