在Elasticsearch中使用文本字段进行聚合

时间:2017-04-20 09:23:12

标签: elasticsearch kibana

当我尝试加载可视化时,我在Kibana中收到以下错误。

  

可视化:默认情况下,在文本字段上禁用Fielddata。在[beat.name]上设置fielddata = true,以便通过反转索引来加载内存中的fielddata。请注意,这可能会占用大量内存。

因此,我尝试根据此LINK添加未分析的关键字字段,并为启用了聚合的doc_values。

由于我正在创建每日索引,因此我创建了一个模板:

PUT /_template/template_metricbeat_1
{
    "template": "*metricbeat*",
    "order": 1,
    "settings": {
        "number_of_shards": 5,
        "number_of_replicas": 1,
        "refresh_interval": "30s"
    },
    "mappings": {
        "metricsets": {
            "properties": {
                "beat.name": {
                    "type": "text",
                    "fields": {
                        "keyword": {
                            "type": "keyword"
                        }
                    }
                }
            }
        }
    }
}

但我有大约五十个文本字段用于创建可视化。

所以我的问题是如何一次性添加未分析的关键字字段和所有五十个文字字段?

1 个答案:

答案 0 :(得分:1)

使用Beats的正确方法是使用自己的索引模板,每个模板都有其特定的字段和配置。

特别针对Metricbeat,模板位于:https://github.com/elastic/beats/blob/v5.3.0/metricbeat/metricbeat.template.json

关于如何获取并应用它的文档在这里:https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-template.html