![](/img/trans.png)
[英]Tools to migrate index from elasticsearch 1.x to elasticsearch 2.x
[英]Why Elasticsearch have conflicting field mappings on migration from 1.x to 2.x?
我想将弹性从1.5.2升级到2.1.1,当我使用迁移插件查找要解决的问题时,在迁移本身之前,我在“冲突字段映射”上遇到错误。
在有关此问题的文档中 ,它表示:
具有相同名称,相同索引,不同类型的字段必须具有相同的映射,但copy_to,dynamic,enabled,ignore_above,include_in_all和properties参数除外,这些参数可能对每个字段具有不同的设置。 在存在冲突的字段映射的情况下,Elasticsearch将不会启动。 这些索引必须使用新的映射删除或重新索引。
我无法理解其原因。我的意思是为什么“具有相同名称,相同索引,不同类型的字段必须具有相同的映射”?
问题在于类型存储在相同的Lucene索引中。 Lucene不适用于类型的上下文。 因此,在两种不同类型中使用时,字段名称与存储在Lucene中的名称相同。 由于Lucene使用相同的名称,因此它们必须具有相同的类型。
因此,以下两个字段将添加到Lucene的同一字段中:
index - type - field
myindex - type_a - fieldOne
myindex - type_b - fieldOne
在lucene索引中全称为:fieldOne
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.