1、ElasticSearch Mapping问题
问题现象:
分析定位:
ElasticSearch在创建index索引时,若不指定mapping字段的类型,elasticsearch本身会自动探测字段类别并创建默认mapping。由于“upsertTime”之前是yyyy-mm-dd格式,并且没有指定mapping字段类别,es自动创建默认date类别,现在数据修改为yyyy-mm-ddhh-MM-ss后,导致格式不一致导致解析parse异常。
解决方案:
关闭ElasticSearch的默认自动探测时间格式功能,upsertTime字段mapping类型默认为String,这样方便后续时间格式变更而不会造成影响。重新创建index索引对应的mapping,在创建索引时,添加:"date_detection":false.
具体参考地址:http://joelabrahamsson.com/dynamic-mappings-and-dates-in-elasticsearch/