gpt4 book ai didi

search - 在ElasticSearch中找到日期差

转载 作者:行者123 更新时间:2023-12-03 01:58:20 26 4
gpt4 key购买 nike

假设我有包含以下字段的文档:{field1, field2, startdate, enddate}
我需要运行一些查询,其中某些条件将需要startdateenddate之间的区别

在标准SQL中,一个示例可能是:
SELECT *,(2010-01-01-startdate) as diffstartdate, (2010-01-01-enddate) as diffenddate FROM Table1
如何在Elasticsearch中实现这一目标?

最佳答案

Script Fields是您所需要的。

 {
"query" : {
"match_all": {}
},
"script_fields" : {
"difference_between_two_dates" : {
"script" : "groovy.time.TimeCategory.minus(new java.util.Date(2010-01-01),new java.util.Date(doc['dateCreated'].value))"

}
}
}

确保在 elasticsearch.yml中启用了动态脚本。
script.disable_dynamic: false

您可以引用 https://www.elastic.co/guide/en/elasticsearch/reference/1.4/search-request-script-fields.html以获得更多信息。
希望能帮助到你。

关于search - 在ElasticSearch中找到日期差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35053111/

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