2016-05-10 3 views
1

データのインデックス作成中に動的バインディングを使用しています。たとえば、私たちはすべての数値フィールドをdoubleとして扱うために弾性検索を強制できます。

longというフィールドのマッピングが作成されます。 2回目のデータのインデックス作成中は、2倍になる可能性があります。{ "a" : 10.10 }マッピングはすでに定義されているので、データを長い間インデックスすることになります。これを修正する唯一の方法は、マッピングを事前に定義しておくことです。これはさまざまな理由でやりたいことではありません。

私の質問 - すべての数字フィールドをdoubleとして扱うために弾性検索を強制する方法はありますか?

+0

を私は一種のこのhttps://www.elastic.co/のための答えを得ましたguide/en/elasticsearch/reference/current/dynamic-templates.htmlを参照してください。私は外に出てみようとします。 –

答えて

2

あなたは、動的なマッピングテンプレートを使用することができます。https://www.elastic.co/guide/en/elasticsearch/reference/current/dynamic-templates.html

それがある限り、二重にマップと一致した場合:

PUT my_index 
{ 
    "mappings": { 
    "my_type": { 
     "dynamic_templates": [ 
     { 
      "integers": { 
      "match_mapping_type": "long", 
      "mapping": { 
       "type": "double" 
      } 
      } 
     } 
     ] 
    } 
    } 
} 
+0

ありがとう、私はそれを投稿した直後にネットで見つけました。どうもありがとう。 –

+0

私の答えを投稿した直後にソリューションを見つけることについてのあなたのコメントを見た:) – alpert

関連する問題