如何在ElasticSearch中计算两个日期时间之间的差异

我正在使用ES,并且我需要一个查询,该查询返回两个datetime(mysql

timediff)之间的差,但是还没有找到ES的任何功能来做到这一点。有人可以帮助我吗?

MySQL查询

SELECT SEC_TO_TIME(

AVG(

TIME_TO_SEC(

TIMEDIFF(r.acctstoptime,r.acctstarttime)

)

)

) as average_access

FROM radacct

谢谢!

回答:

最好的是脚本字段。如果您已启用动态脚本并且这些日期字段在映射中定义为日期,则上述搜索查询应该可以正常工作。

{

"script_fields": {

"test1": {

"script": "doc['acctstoptime'].value - doc['acctstarttime'].value"

}

}

}

请注意,您将获得epoch的结果,您需要将其转换为面额。

您可以在此处阅读有关脚本化字段及其一些示例的信息。

以上是 如何在ElasticSearch中计算两个日期时间之间的差异 的全部内容, 来源链接: utcz.com/qa/435305.html

回到顶部