我正在开发一个将elasticsearch集成到自身的平台。这个软件的某些部分基本上是elasticsearch的前端。
kibana不知何故知道特定elasticsearch数据类型支持哪些聚合。我检查了kibana发送的http请求,但找不到这些信息的来源(也许,我还不够彻底。)
所以,我的问题是:kibana如何确定elasticsearch数据类型支持哪些聚合?有没有可能通过elasticsearch api获取,或者在客户端(kibana中)进行硬编码?
例子:
我正在开发一个将elasticsearch集成到自身的平台。这个软件的某些部分基本上是elasticsearch的前端。
kibana不知何故知道特定elasticsearch数据类型支持哪些聚合。我检查了kibana发送的http请求,但找不到这些信息的来源(也许,我还不够彻底。)
所以,我的问题是:kibana如何确定elasticsearch数据类型支持哪些聚合?有没有可能通过elasticsearch api获取,或者在客户端(kibana中)进行硬编码?
例子:
1条答案
按热度按时间mzaanser1#
kibana使用索引模式作为一个关键概念。它知道链接的索引和这些索引的基本字段结构(索引Map)。基于这些索引模式,kibana可以确定哪些聚合与特定字段兼容。
例如,术语聚合适用于关键字类型的字段或其他适合bucket聚合的数据类型。对于文本字段,可以´我们需要启用fielddata来使用术语聚合。
如果缺少特定字段的聚合,请检查使用具有不同数据类型的多字段是否可以解决此问题。之后,更新kibana中的索引模式,然后´我们将能够在新的多字段上进行聚合。