假设我在弹性搜索中有两种类型:用户,任务。
创建索引时出现此错误:
mapper_parsing_exception: Failed to parse mapping [tasks]: mapper [u_id]
cannot be changed from type [int] to [string]
似乎弹性搜索不允许不同类型具有不同类型的相同字段名称。我对此是否正确。
请帮忙。
感谢。
答案 0 :(得分:0)
在这种情况下,您有2个不同的索引,并且您肯定可以在其中使用不同的映射。
此错误告诉您无法在现有索引'任务中更改已创建的映射。更多here
更新现有映射
除了记录之外,现有的类型和字段映射不能 更新。更改映射意味着已经编入索引的无效 文档。相反,您应该使用正确的方法创建一个新索引 映射并将数据重新索引到该索引中。
有关映射更新here
的更多信息在这种情况下,你可以:
简单方法 - 删除索引'输入'并使用新映射再次创建它。
更复杂的方法 - 使用_reindex API并将ypur数据重新索引到具有正确映射类型的新索引。