elasticsearch 为什么Elasticsearch在从1.x迁移到2.x时有冲突的字段映射?,elasticsearch,elasticsearch" /> elasticsearch 为什么Elasticsearch在从1.x迁移到2.x时有冲突的字段映射?,elasticsearch,elasticsearch" />

elasticsearch 为什么Elasticsearch在从1.x迁移到2.x时有冲突的字段映射?

elasticsearch 为什么Elasticsearch在从1.x迁移到2.x时有冲突的字段映射?,elasticsearch,elasticsearch,我想将我的elastic从1.5.2升级到2.1.1,当我使用查找要解决的问题时,在迁移之前,我会在“冲突字段映射”上出错 在关于这个问题的报告中,它说: 具有相同名称、相同索引、不同类型的字段必须具有相同的映射,但上面的“复制到”、“动态”、“启用”、“忽略”、“全部包含”和“属性”参数除外,这些参数可能对每个字段具有不同的设置。[…]Elasticsearch不会在存在冲突的字段映射时启动。必须使用新映射删除或重新索引这些索引 我不明白为什么它是这样的。。。我的意思是为什么“具有相同名称、相

我想将我的elastic从1.5.2升级到2.1.1,当我使用查找要解决的问题时,在迁移之前,我会在“冲突字段映射”上出错

在关于这个问题的报告中,它说:

具有相同名称、相同索引、不同类型的字段必须具有相同的映射,但上面的“复制到”、“动态”、“启用”、“忽略”、“全部包含”和“属性”参数除外,这些参数可能对每个字段具有不同的设置。[…]Elasticsearch不会在存在冲突的字段映射时启动。必须使用新映射删除或重新索引这些索引


我不明白为什么它是这样的。。。我的意思是为什么“具有相同名称、相同索引、不同类型的字段必须具有相同的映射”

问题是类型存储在同一个Lucene索引中。Lucene不处理类型的上下文。因此,在两种不同类型中使用的字段名称与存储在Lucene中的名称相同。由于Lucene使用相同的名称,因此它们必须具有相同的类型

因此,以下两个字段将添加到Lucene中的同一字段中:

index    -   type   -   field
myindex  -   type_a - fieldOne
myindex  -   type_b - fieldOne

在lucene索引中,所有的类型都被称为:fieldOne

问题是类型存储在同一个lucene索引中。Lucene不处理类型的上下文。因此,在两种不同类型中使用的字段名称与存储在Lucene中的名称相同。由于Lucene使用相同的名称,因此它们必须具有相同的类型

因此,以下两个字段将添加到Lucene中的同一字段中:

index    -   type   -   field
myindex  -   type_a - fieldOne
myindex  -   type_b - fieldOne

在lucene索引中,都被称为:fieldOne

这在本文中被详细解释了这在本文中被详细解释了