Elasticsearchでtemplateから生成したindexのフィールド情報が異なる
Elasticsearch 5.5でアクセスログの分析を試しています。
テンプレート「access_log-template」を登録して「access_log-2017.10.25」というような日毎のインデックスを生成するようにしたのですが、日毎の方が下記のようにtextになってしまいます。
原因などわかりますでしょうか?
データの登録はFluentdを使っています。
・keywordにしたagentフィールドがtext+keywordになる
・longにしたcodeフィールドがtext+keywordになる
登録したテンプレートのJSON
{
"template": "access_log-*",
"mappings" : {
"access_log" : {
"_source" : { "enabled" : false },
"properties" : {
"code" : { "type" : "long" },
"agent" : { "type" : "keyword" }
}
}
}
}
マッピング情報
{
"access_log-template" : {
"mappings" : {
"access_log" : {
"_source" : {
"enabled" : false
},
"properties" : {
"agent" : {
"type" : "keyword"
},
"code" : {
"type" : "long"
}
}
}
}
},
"access_log-2017.10.25" : {
"mappings" : {
"access_log" : {
"properties" : {
"@tag_key_name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"@timestamp" : {
"type" : "date"
},
"agent" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"code" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
}
}
}
}