繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM