2016-10-20 21 views
1

既存のインデックスにcopy_toを追加しようとしています。例の場合:弾性検索copy_toフィールド更新プロセス

PUT/my_index

{ 
    "mappings":{ 
     "my_type":{ 
      "properties":{ 
        "user_name":{ 
         "type":"string", 
         "copy_to":["key"], 
         "index":"not_analyzed", 
         "include_in_all":false 
        } 
      } 
     }, 
     "key":{ 
      "type":"string", 
      "store":"yes" 
     } 
    } 
} 

私はUSER_NAMEですでにデータを持っています。マッピングを更新すると、これらのデータはcopy_toフィールドにコピーされますか? 新しい入力セットをインデックスすると、新しい入力のみがcopy_to(key)フィールドにコピーされますか? 変更を反映させるためにインデックスを再作成する必要がありますか? 文書全体を再索引付けせずにコピー先を更新する方法、または変更を反映させるために特定のuser_name文書のみを更新できますか?

+0

あなたは以前my_typeで何を持っていましたか? – Mysterion

+0

elasticsearchの文書タイプ – user3351014

+0

はい、明らかです。更新する前に何があったのですか? – Mysterion

答えて

2

フィールドがインデックスに追加されると、特定のフィールドのマッピングが「固定」されます。これを変更するには、データを再索引付けする必要があります。