2016-05-26 5 views
1

私は文字列として保存したいbirth_datesをいくつか持っています。データのクエリや分析を行う予定はありません。ただ保存したいだけです。Elasticsearch 2.3 putマッピング(日付フィールドタイプを無効にしようとしています)エラー

与えられた入力データはさまざまなランダムフォーマットであり、一部には(approximate)などの文字列も含まれています。 Elasticは、これが日付書式の日付フィールドでなければならないと判断しました。これは、弾性が1981 (approx)のような日付を受け取ったときに、それがフリークアウトし、入力が無効な形式であると言います。

入力日付を変更する代わりに、日付の種類を文字列に変更したいとします。

私はドキュメントを見て、PUTマッピングAPIを使ってマッピングを更新しようとしていますが、エラスティックは解析エラーを返し続けます。ここでのドキュメントに基づいて

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html

私が試してみました:

PUT /sanctions_lists/eu_financial_sanctions/_mapping 
{ 
    "mappings":{ 
     "eu_financial_sanctions":{ 
     "properties": { 
      "birth_date": { 
       "type": "string", "index":"not_analyzed" 
      } 
     } 
     } 
    } 
} 

が、リターンを:

質問概要

elasticsearchの自動的に決定された日付フィールドを無視して、文字列をフィールドタイプとして強制することはできますか?

NOTE

私がリクエスト

を送信するためにGoogle Chromeのセンスプラグインを使用してい

弾性検索のバージョンが2.3

答えて

-1

ちょうどURLから型参照とのマッピングを削除している、あなたは内部にそれらを持っていますリクエストボディ。 More examples.

PUT /sanctions_lists 
{ 
    "mappings":{ 
     "eu_financial_sanctions":{ 
     "properties": { 
      "birth_date": { 
       "type": "string", "index":"not_analyzed" 
      } 
     } 
     } 
    } 
} 
+0

アイブちょうど試みた 'PUT/sanctions_lists/_mapping'は別のエラー'だ 「検証は失敗しました:1:マッピングタイプが欠落しているが、」 '私はそれのようにそれを保存しようと文句を言わない「_mapping」含まれていない場合ドキュメント? –

+0

なぜ 'PUT/sanctions_lists'を使用できないのですか?答えに例を示すリンクを入れました。 – pkhlop

+0

新しいタイプを追加する方法があるためです。私は既存のフィールドを更新したいと思っています。私は "タイプ"を持っています: "index_already_exists_exception"、 リンクされた例を使用しました: 'PUT/sanctions_lists/_mapping/eu_financial_sanctions'とエラー' 'type": "illegal_argument_exception"、 "reason": "mapper [birth_date]の異なるタイプ、current_type [date]、merged_type [string] "' –

関連する問題