关闭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” } } } }