2017-04-26 48 views
0

我有一個已經使用映射創建的ES索引。在Elasticsearch中更改映射屬性分析器5

我需要更改屬性分析器以使用新的分析器。我能夠將新分析器添加到索引,但是當試圖更新映射屬性以使用新分析器時,我得到了一個異常。

我的代碼:

var closeIndexResult = client.CloseIndex("index");  

var result = client.Map<MyEntity>(m => m.Properties(prop => 
    prop.Text(t => t.Name(n => n.FirstName).Analyzer("myNewAnalizer")) 
)); 

Result here is not successful... 

我使用ES 5和鳥巢。

有沒有辦法更新我的當前屬性數據來使用新的分析器,而無需重新索引我的所有數據?

回答

1

沒有。映射決定你的數據是如何編入索引,這意味着它的任何變化將與映射定義

目前指數不一致雖然可以添加新類型的索引,或添加新的字段類型,你可以不加新的分析儀或改變現有的領域。如果您這樣做了,那麼已經編入索引的數據將不正確,您的搜索將不再按預期工作。

當您需要更改現有的字段,你應該看看有重新索引API

https://www.elastic.co/guide/en/elasticsearch/client/net-api/master/writing-analyzers.html

重建索引數據