2017-04-26 15 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

でデータを再インデックスをご覧ください