2016-12-23 10 views
0

私は弾性検索とkibanaの新しいです。 _sourceフィールドを "yyyy-mm-dd hh:mm:ss"の形式でdateタイプとして解析したいが運がない。ただし、fieldの値が "yyyy-mm-hh"形式の場合、フィールドは日付型として解析されます。 kibanaの詳細設定ページでdateFormat:scaledフィールドを修正しようとしましたが、運がないです。続き は私のユースケースである:"time_of_creation"フィールドがkibanaにStringとして解析なっている私の場合は木場の日付型フィールドを解析できません

{ 
    "name": "Amy", 
    "time_of_creation": "2016-12-21 10:46:55" 
} 

、私は"date"型としてこのフィールドを解析します。

ありがとうございます!

答えて

0

私はまだコメントを追加できませんので、私はより多くの情報を求めて答えを編集するために投稿しています。

マッピングとサンプルドキュメントを投稿できますか?

curl -XGET "http://localhost:9200/my_index/_mapping" 

あなたがして1つのサンプル文書を取得することができます:あなたが知らない場合には

が、これはあなたがマッピングを取得する方法です。

curl -XGET "http://localhost:9200/my_index/_search" 
+0

"default"ドキュメントのマッピング。 { "デフォルト":{ "マッピング":{ "VOX-ログ":{ "プロパティ":{ "データ":{ "タイプ": "文字列" }、 "DATE_TIME": { "タイプ": "文字列" } } } } } } –

+0

サンプル文書:{ "取った":74、 "TIMED_OUT":偽、 "_shards":{ "合計" :1、 "成功":1、 "失敗":0 }、 "ヒット":{ "合計":1、 "max_score":1、 "ヒット":[ { "_index": "デフォルト"、 "_type": "VOXログ" 、 "_id": "AVksHIL52Bkrx4u9vIi9"、 "_score":1、 "_source":{ "データ": "\ nkjhjkhkj \ njjkhjkhjk \ njhkjhjk"、 "DATE_TIME":「2016年12月21日10: 46:50.119 " } } ] } } –

0

これは、ur時間形式のタイムゾーン情報がないために発生します。
そして、the official guideで該当する解決策をチェックアウトすることができます。タイムゾーン情報と
時間は次のようになります。

2016-11-11T11:11:11.111+0800 

例コード:

PUT my_index { 
"mappings": { 
    "my_type": { 
     "properties": { 
     "date": { 
      "type": "date" 
     } 
     } 
    } 
    } 
} 

PUT my_index/my_type/1 { "date": "2015-01-01" } 

PUT my_index/my_type/2 { "date": "2015-01-01T12:10:30Z" } 

PUT my_index/my_type/3 { "date": 1420070400001 } 

GET my_index/_search { 
    "sort": { "date": "asc"} 
} 

:)

+0

公式ガイドのURLを共有できますか? –

+0

@OnkaarSinghここでは[時間形式データのガイド](https://www.elastic.co/guide/en/elasticsearch/reference/5.1/date.html)です。私は自分の答えに追加しました。見てみな。 – DeFOX

0

をあなたの構文解析フォーマットが間違っています。

"YYYY-MM-DD HH:MM:SS" あなたはヶ月と分の両方に同じ文字に "mm" を使用している

注あなたはこれを使用しています。数ヶ月間、あなたは資本 "M"を使わなければなりません。また、「hh」で時間を指定すると、12時間形式を解析していることにも注意してください。 24時間形式が必要な場合は、代わりに "HH"を使用してください。例えば、このマッピングは正常に24時間形式で日付を解析します:あなたは詳細については、このトピックに関するthe documentationを確認することができます

"time_of_creation": { 
    "type": "date", 
    "format": "yyyy-MM-dd HH:mm:ss" 
} 

こちらがお役に立てば幸いです。

0

私は間違った形式で日付を渡していました。木場は日付のタイムゾーンも持つ必要があります。だから私は次のコードを使用して私の日付の文字列を変換し、elasticsearchでデータを送信しました。今ではフィールドがdateタイプとなっています。

var date = new Date("2016-12-21 10:46:50.119"); 
var dateStr = date.toISOString() 

dateStrは、現在、必要な形式である2016-12-21T05:16:50.119Zです。

関連する問題