簡體   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