2016-10-04 13 views
0

をインデックスヌルを許可しない:Elasticsearchは、私は、インデックスに怒鳴るデータを持っている日付フィールドに

array:6 [▼ 
    "index" => "my_index" 
    "type" => "audit_field" 
    "id" => "57f36d28a1dfc" 
    "parent" => "57f36d289f1b2" 
    "routing" => 318 
    "body" => array:19 [▼ 
    "session_id" => 318 
    "trans_seq_no" => 13 
    "table_seq_no" => 13 
    "field_id" => 65 
    "field_name" => "id" 
    "new_value" => 45 
    "old_value" => 45 
    "date_type_new_value" => null 
    "date_type_old_value" => null 
    "time_type_new_value" => null 
    "time_type_old_value" => null 
] 
] 

私はnullをインデックスデータへのWANとき、私は

array(
    'index' => 'promote_kmp', 
    'type' => 'audit_field', 
    'body' => [ 
     'audit_field' => [ 
      '_source' => [ 
       'type' => 'string' 
      ], 
      "_parent" => [ 
       "type" => "audit_table" 
      ], 
      'properties' => [ 
       'session_id' => array('type' => 'string'), 
       'trans_seq_no' => array('type' => 'string'), 
       'table_seq_no' => array('type' => 'string'), 
       'field_id'  => array('type' => 'string'), 
       'field_name' => array('type' => 'string'), 
       'old_value' => array(
        'type' => 'string' 
       ), 
       'new_value' => array(
        'type' => 'string' 
       ), 
       'date_type_new_value' => array(
        'type' => 'date', 
        'format' =>'YYYY-MM-dd HH:mm:ss||YYYY-MM-dd||MM/dd/yyyy||yyyy/MM/dd' 
       ), 
       'date_type_old_value' => array(
        'type' => 'date', 
        'format' =>'YYYY-MM-dd HH:mm:ss||YYYY-MM-dd||MM/dd/yyyy||yyyy/MM/dd' 
       ), 
       'time_type_new_value' => array(
        'type' => 'date', 
        'format' => 'HH:mm:ss' 
       ), 
       'time_type_old_value' => array(
        'type' => 'date', 
        'format' => 'HH:mm:ss' 
       ) 
      ] 
     ] 
    ] 
); 

怒鳴るとして自分自身をマッピング定義されているがいます日付フィールドで、elasticsearchが表示され、日付フィールドの値をマッピング日付フォーマットタイプで解析できない例外があります。 これを解決するには、私も空にしようとしましたが、動作していない、と同じメッセージを与える。

MapperParsingException[failed to parse [date_type_new_value]]; nested: 
MapperParsingException[failed to parse date field [], tried both date format 
[YYYY-MM-dd HH:mm:ss||YYYY-MM-dd||MM/dd/yyyy||yyyy/MM/dd], and timestamp 
number with locale []]; nested: IllegalArgumentException[Invalid format: ""]; 

答えて

0

私はヌルが機能しない理由わからない、私はインデックスnull値は、ES 1.7に、またIllegalArgumentException[Invalid format: ""];は空白文字列ではなくNULL値を示しますすることができます。

あなたがデータをコントロールしていない場合、あなたはどの通常の文書ではないインデックス日付フィールドが、インデックスますignore_malformedを使用する必要があります。

+0

私はデータを管理している、私は、null値を渡したが、そのエラーが表示しました。私は同じバージョンの弾性を使用します。 – jones

+0

これは変ですが、ignore_malformedをマッピングに追加してみることができますか? – ChintanShah25

関連する問題