关闭ElasticSearch自动匹配
这几天在弄ElasticSearch来分析日志,突然有一天早上8:00之后的日志就进不来了,看了分析程序运行正常,服务也正常,只是ElaticSearch的日志增长很快,其中比较值得注意的就是这条了。
Caused by: org.elasticsearch.index.mapper.MapperParsingException: failed to parse date field [22-Nov-2013 12:24:30], tried both date format [yyyy/MM/dd HH:mm:ss||yyyy/MM/dd], and timestamp number with locale []
看起来应该是mapping的问题,对比了一下当前的mapping和之前的,确实有一些不一样,timestamp
之前是string
,现在成了date
,本着调整一下mapping就可以的思路,调整了,开始有数据可以进来了,但是错误还是很多。
仔细看了一下,ES有一个date_detection
的机制,得把这个给关了,停止他对时间字段的自动mapping。
在CONFIG_DIR
下放一个default-mapping.json
就可以从cluster
级别关闭了。
{
default : {
"date_detection" : false,
"properties" : {
"@timestamp" : {
"type" : "date",
"format" : "dateOptionalTime"
}
}
}
}
Last modified on 2013-11-26