2016-11-29 45 views
4

Elastic Search(現在のJava API)から現在の日付と時刻を取得することは可能ですか?ElasticSearch - 現在の日付と時刻を取得するには?

私はどこからでも検索しましたが、Rangeクエリではいくつかの日付フィールドで数値演算を行うことができ、スクリプトフィールドを使用することは可能ですが、現在の日付を返すスクリプトは見つかりませんでした。私が求めているのは、SQLのnow()と似たものです。

お時間をいただきありがとうございます。

意味で
+0

なぜそれが必要ですか?それは珍しい要求です。 –

+0

私たちはアプリケーションクラスタリングを行っており、すべてのクラスタが同じ日付と時間で動作することを確認する必要があります。通常のデータベース(および日付/時刻)を使用する他のプロジェクトでは、すべてがうまく機能します。 – Sikor

+0

そのようなもの/同期は、通常、システムレベルで(ntpなどを使って)行われますか? – Val

答えて

0

(あなたはESのバージョンを指定していませんでした。これは2.3.2に対して動作します):

GET your_index/_search 
{ 
    "size": 1, 
    "script_fields": { 
    "now": { 
     "script": "new Date().getTime()" 
    } 
    } 
} 

をJava APIでは、それは(テストしていない)のようなものになるだろう

yourSearchRequestBuilder.addScriptField("now", "new Date().getTime()"); 

これは、your_indexに少なくとも1つのドキュメントが必要なので、スクリプトフィールドをオフにすることがあります。ハックのビットです。

関連する問題