我的 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 字段?
答案 0 :(得分:0)
您发布的模板甚至不是有效的JSON。如果您要在raw
中应用not_analyzed
字段,则必须按照以下方式执行:{/ p>
"action" : {
"type" : "string",
"fields" : {
"raw" : {
"index" : "not_analyzed",
"type" : "string"
}
}
}
这将创建一个action.raw
字段。
答案 1 :(得分:0)
我遇到了同样的问题。
我使用了ES5.5.1
和logstash 5.5.1
,下面是我的模板文件
{
"template": "access_log",
"settings": {
"index.refresh_interval" : "5s"
},
"mappings": {
"log": {
"properties":{
"geoip":{
"properties":{
"location" : {
"type" : "geo_point",
"index": "false"
}
}
}
}
}
}
}