2016-11-29 3394 views
4

是否可以从Elastic Search(最好在Java API中)获取当前日期和时间?ElasticSearch - 如何获取当前日期和时间?

我到处搜索了很长时间,但发现只有Range Queries可以对某些日期字段执行数学运算,并且可以使用脚本字段,但是我找不到任何用于返回当前日期的脚本。我所要求的是类似于SQL的()。

谢谢你的时间。

+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个文档,这样才能挂起脚本字段;这有点破解。

相关问题