2016-11-29 27 views
0

彈性1.x中允許映射默認path定義中提取所需要routing領域,例如:如何在Elastic 1.x中添加「_routing.path」而無需停機和重新索引?

{ 
    "comment" : { 
     "_routing" : { 
      "required" : true, 
      "path" : "blog.post_id" 
     } 
    } 
} 

那是可能添加該字段上的蒼蠅,沒有停機?

所以映射以前定義爲:

{ 
    "comment" : { 
     "_routing" : { 
      "required" : true 
     } 
    } 
} 
+0

您還需要重新索引文檔。如果該路徑改變並且值不同,則這意味着文檔可能已經結束於與現在不同的碎片。 –

+0

@AndreiStefan謝謝你的回答,實際上我正在嘗試做的是**添加**那條路徑。我編輯的問題更清楚。是**添加**可能從你知道的? – dmydlarz

+1

不會。我只是測試它。即使該命令被確認,更新也不會被應用。 –

回答

1

的更新將無法正常工作。即使命令被確認,更新也不會被應用。

您還需要重新索引文檔。如果該路徑改變並且值不同,則這意味着文檔可能已經結束於與現在不同的碎片。所以,假設這種改變是可能的,那麼你基本上會改變散列,文檔可能是,路由,還有GET ed(得到)來自分片,這將是一團糟。

相關問題