Logstash弹性搜索输出自定义模板不起作用

时间:2016-08-04 16:30:14

标签: elasticsearch logstash kibana kibana-4 logstash-configuration

我的 logstash 配置类似于以下内容

if "user" in [tags] {
        elasticsearch {
            hosts => ["localhost:9200"]
            action => "index"
            index => "user-%{+YYYY.MM.dd}"
            template => '/path/to/elastic-template.json'
            flush_size => 50
        }
}    

json模板包含行

 "fields" : {
                 "{name}" : {"type": "string", "index" : "analyzed", "omit_norms" : true, "index_options" : "docs"},
                 "{name}.raw" : {"type": "string", "index" : "not_analyzed", "ignore_above" : 256}
               }

所以我假设在搜索或生成可视化时可以使用 .raw

但是,我删除了现有的索引并重新重建,我可以看到数据,但我仍然找不到 .raw 字段Kibana的设置,发现或可视化

如何使用 .raw 字段?

2 个答案:

答案 0 :(得分:0)

您发布的模板甚至不是有效的JSON。如果您要在raw中应用not_analyzed字段,则必须按照以下方式执行:{/ p>

"action" : {
  "type" : "string",
    "fields" : {
      "raw" : {
        "index" : "not_analyzed",
        "type" : "string"
    }
  }
}

这将创建一个action.raw字段。

答案 1 :(得分:0)

我遇到了同样的问题。 我使用了ES5.5.1logstash 5.5.1,下面是我的模板文件

{
  "template": "access_log",
  "settings": {
    "index.refresh_interval" : "5s"
  },
  "mappings": {
    "log": {
      "properties":{
        "geoip":{
          "properties":{
             "location" : {
               "type" : "geo_point",
               "index": "false"
             }
          }
        }
      }
    }
  }
}