如何编写Elasticsearch查询,筛选日期字段早于当前时间减指定周期的文档
Elasticsearch 日期范围查询调整方法
你只需要修改range条件下joiningDate的lte取值即可,Elasticsearch原生支持now关键字后拼接时间偏移量,d代表天数单位,10天偏移直接写now-10d即可。
修改后的完整查询如下:
GET employees/_search { "query": { "bool": { "filter": [ { "term": { "empId": "XXXXXX" } }, { "range": { "joiningDate": { "lte": "now-10d" } } } ] } } }
补充说明:
如果需要按自然日期(忽略当前时分秒,对齐到当日零点)筛选,可改用now-10d/d,会将计算时间对齐到10天前的零点,避免时分秒对筛选结果的干扰。
其他常用时间偏移写法参考:
- 早于当前时间减28天:
now-28d - 早于当前时间减2个月:
now-2M(注意月份单位为大写M,小写m代表分钟) - 早于当前时间减1年:
now-1y
内容的提问来源于stack exchange,提问作者hema
相关产品推荐
相关产品推荐

