2015-01-08 96 views
0

因此,基本上我有一個我創建的索引,並且已經設置了映射,以便無論何時創建文檔,文檔的_id都是設置爲文檔的一個字段。Elasticsearch:通過映射路徑更新已設置爲文檔_id的字段

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-id-field.html

這是很容易做到的,但我注意到,當我更新域(通過Java API),文檔的_id保持不變等等領域和_id不同步。

這是預期的行爲?如果是這樣,是否有人知道爲什麼,並且如果將_id設置爲可能頻繁更改的字段是一個壞主意?

如果我希望_id和字段同步,是重新索引一個選項?

由於

回答

0

的_id被提取,並從而建立索引該字段複製。 另外_id被用作路由鍵,它決定文檔在整個集羣中的位置。 因此,不可能將_id保留爲某個字段的引用,而是在索引之前將其值複製到_id。

如果你想改變_id,重新索引是唯一的選擇。

相關問題