2016-03-21 6 views
8

マッピングにいくつかの追加プロパティを追加したいと思います。英語のインデックスのタイトルフィールドを変更して英語のアナライザを使用したいと思っています。ElasticSearchでupdate_all_typesをtrueに設定します

私はいくつかのタイプのタイトルフィールドを持っていることを除いては、かなり簡単です。これを行うことはできないようです。 ]をt​​rueに設定update_all_typesは、すべてのタイプで[search_quote_analyzer]更新する

しかし、私はこの「update_all_types」を設定する方法や場所に単一の参照を見つけることができないです:。

私が持っているエラーは次のとおりです。パラメータ。

これは私が意味での使用は非常に簡単なコードです:だから

PUT /my_index/_mapping/my_type 
    { 
     "properties": { 
     "title": { 
      "type": "string", 
      "analyzer": "english" 
     } 
     } 
    } 

同じフィールドは、他のタイプで使用されている場合、どのように私はこの作業を行うことができますか?

これはエラーメッセージです:

"type": "illegal_argument_exception", 
"reason": "Mapper for [title] conflicts with existing mapping in other types: 
    [mapper [title] has different [analyzer], mapper [title] is used by 
    multiple types. Set update_all_types to true to update [search_analyzer] 
    across all types., mapper [title] is used by multiple types. Set 
    update_all_types to true to update [search_quote_analyzer] across 
    all types.]" 

だから、私は「update_all_typesを:true」に設定する必要があるようだどこかが、ドキュメントがその一部に障害が発生しました。

+0

をあなたは[適切なページ](https://www.elastic.co/guide/en/elasticsearch/reference/2.2/indices-put-mapping.html#merging-conflicts)に載るでしょう;-) – Val

+0

おっとり、私はそれを見落としたようだ。 とにかく、私は別のエラーが出るようには思われません。元の投稿を更新します。 – Wokoman

+0

あなたの他のタイプのフィールド 'title'は、おそらく異なるアナライザを持っています。 'my_type'型の' title'のアナライザ)。可能? 'GET my_index'の出力を表示できますか? – Val

答えて

6

hereのドキュメントをご覧ください。

update_all_types

はそのように与えるためにGETパラメータです: 私は同様の問題があった PUT my_index/_mapping/type_one?update_all_types

1

、すべてのタイプに更新するには、以下のコードを試してください:あなたは、検索機能を使用する場合

PUT /my_index/_mapping/my_type?update_all_types 
    { 
     "properties": { 
     "title": { 
      "type": "string", 
      "analyzer": "english" 
     } 
     } 
    } 
関連する問題