2017-01-02 16 views
0

平日の分類ごとにドキュメントを表示していますか?私はdateConversion.groovyスクリプトを使用しています。このため簡単な日付ヒストグラムですか?

{"text": "hi","created_at": "2016-02-21T18:30:36.000Z"} 

とES 5.1.1にscriptsフォルダに保存: 私のデータは、このような形式です。

Date date = new Date(doc[date_field].value); 
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat(format); 
format.format(date) 

IはESプラグインに次のコードを実行:

 "aggs": { 
     "byDays": { 
      "terms": { 
       "script": { 
        "lang": "groovy", 
        "file": "dateConversion", 
        "params": { 
         "date_field": "created_at", 
         "format": "EEEEEE" 
        } 
       } 
      } 
     } `` 

I am getting an exception like this: 

    { 
    "error": { 
    "root_cause": [ 
     { 
     "type": "illegal_argument_exception", 
     "reason": "Unable to find on disk file script [dateConversion] using lang [groovy]" 
     } 
    ], 
    "type": "search_phase_execution_exception", 
    "reason": "all shards failed", 
    "phase": "query", 
    "grouped": true, 
    "failed_shards": [ 
     { 
     "shard": 0, 
     "index": "testindex-stats", 
     "node": "vVhZxH7pQ7CO3qpbYm_uew", 
     "reason": { 
      "type": "illegal_argument_exception", 
      "reason": "Unable to find on disk file script [dateConversion] using lang [groovy]" 
     } 
     } 
    ], 
    "caused_by": { 
     "type": "illegal_argument_exception", 
     "reason": "Unable to find on disk file script [dateConversion] using lang [groovy]" 
    } 
    }, 
    "status": 400 
} 
+0

@doelleriいくつかの変更

{ "aggs": { "byDays": { "terms": { "script":{ "file":"test", "params": { "date_field": "created_at", "format": "EEEEEE" } } } } } } 

そしてまた私のtest.groovyコードを必要とします? – Seeker

+0

このスクリプトファイルは実際にはすべてのノードの正しいディレクトリにありますか? – doelleri

+0

私はconfig/scripts/dateConversion.groovyに保存されています。これはすべてのノードの正しいディレクトリですか?私はこの環境に慣れていないので詳しく説明することができます – Seeker

答えて

0

script値が文字列が、別のオブジェクトではない集合でスクリプトを使用します。 fileと一緒にlangと指定する必要があると思います。

"aggs": { 
    "byDays": { 
     "terms": { 
      "script": { 
       "lang": "groovy", 
       "file": "dateConversion", 
       "params": { 
        "date_field": "created_at", 
        "format": "EEEEEE" 
       } 
      } 
     } 
    } 
} 
+0

例外私はあなたのコードを使用したときにあなたが助けることができます、それを整理するには? – Seeker

+0

@ C.Yaswanthエラーや例外が発生した場合は、質問に追加してください。 – cfrick

+0

sry ..私はこの環境に新しいです。私を訂正してくれてありがとう – Seeker

0

私のコードのいくつかの部分は、私はあなたのコードを実行すると、このようなエラーを取得して、あまりにも

Date date = new Date(doc[date_field].value); 
date.format(format); 
関連する問題