身安不如心安,屋宽不如心宽 。

ES2.1中@timestamp的mapping冲突

Elasticsearch | 作者 sky7644 | 发布于2016年01月18日 | 阅读数:7369

发现一个问题,就是在ES2.1.1中,同一个index的不同type中写入@timestamp这个字段的时候会引起如家异常:

{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Mapper for [@timestamp] conflicts with existing mapping in other types:\n[mapper [@timestamp] is used by multiple types. Set update_all_types to true to update [format] across all types.]"}],"type":"illegal_argument_exception","reason":"Mapper for [@timestamp] conflicts with existing mapping in other types:\n[mapper [@timestamp] is used by multiple types. Set update_all_types to true to update [format] across all types.]"},"status":400}[

说是和已存在的字段发生冲突,大家有遇到这样的问题吗,是怎么解决的呀,分享一下,感激不尽。
已邀请:

sp42 - Java,Js

赞同来自: sky7644 Frank007

2.0 开始,即使不同的 type,如果字段名相同,那么 index 配置项也要相同才行,否则会报这个错。也就是两个 type 下面的 mapping field 必须相同才行。如果 index 也不一样,那么考虑改下 field 名称。

medcl - 今晚打老虎。

赞同来自:

字段的数据格式是不是不一样,需要保证一样

zttech

赞同来自:

同一个index里,即使是不同type,也不能有两个同名的field

zttech

赞同来自:

"is used by multiple types"
仔细检查一遍所有的type,"@timestamp"个类型应该不止一个

要回复问题请先登录注册