Elasticsear创建索引报错 Mapper for [customerName] conflicts with existing mapping in other types
最近用户反映索引模板任务没有执行,查了下确实没有新建成功,手动执行报错:org.elasticsearch.client.ResponseException: PUT http://10.96.120.2:8300pcids_dspre_check-202103: HTTP/1.1 400 Bad Request{"error":{"root_cause":[{"type":"remote_tra
最近用户反映索引模板任务没有执行,查了下确实没有新建成功,手动执行报错:
org.elasticsearch.client.ResponseException: PUT http://10.96.120.2:8300pcids_dspre_check-202103: HTTP/1.1 400 Bad Request
{"error":{"root_cause":[{"type":"remote_transport_exception","reason":"[bdes207-prd1][10.96.120.97:8301][indices:admin/create]"}],"type":"illegal_argument_exception","reason":"Mapper for [customerName] conflicts with existing mapping in other types:\n[mapper [customerName] has different [doc_values] values]"},"status":400}
意思就是字段customerName存在不同的doc_value设置,检查了模板和索引mapping均没有发现其他customerName字段,
删除模板或者删除模板创建的所有索引后再建同样报错,寻思肯定是其他地方还有这个字段导致的冲突,查询集群下所有的索引信息,发现有前缀名为pcids的非该模板创建的其他索引,查看mapping存在customerName字段,doc_values设置与出问题的索引模板不一致,
问题解决:更改模板mapping中的名称前缀创建模板,然后再次执行创建索引,创建成功。
原因:模板创建的时候路由到了同前缀名的其他模板下,与自有字段的doc_value值冲突,导致报错,同集群下建模板时命名最好不要用已存在的模板或者索引前缀名称。
更多推荐
所有评论(0)