gpt4 book ai didi

elasticsearch - 要检查两个不同的日期字段是gte还是lte

转载 作者:行者123 更新时间:2023-12-03 00:01:04 25 4
gpt4 key购买 nike

是Elasticsearch 6.2.1和Kibana 6.2.1的新手。现在,我正在kibana中编写脚本的Field。
我在索引中有两个不同的日期字段,例如(resolved_on和resolve_due_by),我想检查一下resolve_on小于等于equalResolve_due_bye的条件。我尝试了一些脚本查询,如下所示

doc['resolved_on'] <= doc['resolve_due_by']  <!-- This not working -->

以下代码正在运行。我不知道进行两次约会是否正确。
((doc['resolved_on'].date.dayOfYear <= doc['resolve_due_by'].date.dayOfYear) && (doc['resolved_on'].date.millisOfDay <= doc['resolve_due_by'].date.millisOfDay)) 

有人可以帮我吗?

谢谢

最佳答案

根据the documentation,在无痛脚本语言中,日期字段公开为ReadableDateTime

Date fields are exposed as ReadableDateTime so they support methods like getYear, and getDayOfWeek. To get milliseconds since epoch call getMillis



他们给出以下示例
GET hockey/_search
{
"script_fields": {
"birth_year": {
"script": {
"source": "doc.born.value.year"
}
}
}
}

获得 getMillis后,您将返回比较 long值。

此外,由于我假设这是一个JodaTime类(有关完整文档,请参见 Joda Time API documentation),因此您也可以使用 isBefore()isAfter()方法。

关于elasticsearch - 要检查两个不同的日期字段是gte还是lte,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48989311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com