elasticsearch - Kibana 如何知道 (Elasticsearch) 数据类型支持的聚合?
问题描述
我正在开发一个将 Elasticsearch 集成到自身的平台。该软件的某些部分基本上是 Elasticsearch 的一种前端。
Kibana 不知何故知道特定的 Elasticsearch 数据类型支持哪些聚合。我检查了 Kibana 发送的 HTTP 请求,但找不到该信息的来源。(也许,我不够彻底。)
所以,我的问题是:Kibana 如何确定 Elasticsearch 数据类型支持哪些聚合?是否可以通过 Elasticsearch API 获得它,还是在客户端(在 Kibana 中)硬编码?
解决方案
Kibana 使用索引模式作为一个关键概念。它知道这些索引的链接索引和底层字段结构(索引映射)。基于这些索引模式,Kibana 可以确定哪些聚合与特定字段兼容。
例如,术语聚合适用于类型为关键字的字段或其他适合存储桶聚合的数据类型。对于文本字段,您需要启用 fielddata 以使用术语聚合。
如果您缺少特定字段的聚合,请检查使用具有不同数据类型的多字段是否可以解决该问题。之后,更新 kibana 中的索引模式,您将能够在新的multi-field上进行聚合。
推荐阅读
- excel - 如果标题不存在,熊猫会将行留空
- ruby-on-rails - 可以使模块名称大写吗?
- java - Java: How can I add numbers in an If Statement (explanation in the post)
- ionic-framework - 相机插件杀死apk ionic
- swiftui - SwiftUI:UIkit UIbezier 到 SwiftUI 路径
- c# - Automapper - 将简单列表映射到复杂的嵌套类型
- reactjs - How to create unit test for URL params for React Router using Enzyme
- r - Mean Values of all columns by a specific column
- javascript - Jest can't find function in module
- javascript - Javascript loop terminates partway through when accessing a prototype function