elasticsearch时间搜索

在Elasticsearch中,now/d 是一个非常实用的日期数学表达式,它表示将当前时间向一天进行取整,即返回到当天的00:00:00时刻。

基本概念

now/d 的含义是将当前时间四舍五入到最近的一天的起始时间。例如,如果当前时间是2026年1月29日17:59:18,那么 now/d 就表示2026年1月29日00:00:00。

实际应用场景

  1. 查询当天数据
sql 复制代码
{
  "query": {
    "range": {
      "timestamp": {
        "gte": "now/d",
        "lt": "now"
      }
    }
  }
}
  1. 查询昨天数据
sql 复制代码
{
  "query": {
    "range": {
      "timestamp": {
        "gte": "now-1d/d",
        "lt": "now/d"
      }
    }
  }
}
  1. 查询本周数据
sql 复制代码
{
  "query": {
    "range": {
      "timestamp": {
        "gte": "now/w",
        "lt": "now"
      }
    }
  }
}

这可以查询从本周开始到现在的所有数据。

与其他时间表达式的结合

now/d 可以与其他时间表达式组合使用:

now-1d/d:昨天的开始时间

now+1h/d:一小时后的时间取整到天

now-1w/d:一周前时间取整到天

时区考虑

在使用 now/d 时,需要注意时区设置,特别是在处理中国时间时,需要加上8小时的偏移量。

性能优化建议

在进行日期范围查询时,使用 now/d 这样的表达式可以帮助Elasticsearch更好地利用查询缓存。

相关推荐
TDengine (老段)7 小时前
TDengine 线程模型 — 网络、调度、执行
大数据·数据库·物联网·制造·时序数据库·tdengine·涛思数据
智购科技自动贩卖机10 小时前
自动售货机嵌入式状态机设计实战:从45个事件源到层次型状态机的工程重构
大数据·人工智能·stm32·物联网·重构·硬件架构
乐迪信息10 小时前
智慧港口船舶AI算法实现在线状态监测
大数据·人工智能·深度学习·算法·计算机视觉
Raas10010 小时前
MAI Gateway(魔芋企业级AI网关)对比分析:AI网关和API网关区别?企业级能力差距一览
大数据·人工智能·数据挖掘·mai gateway·企业级产品
Neighbor_OldY11 小时前
云上安全配置审计与误配置修复实战:从安全组、OSS、RAM到数据库的全栈排查复盘
大数据·运维·安全·云计算
瑞码空间11 小时前
git知识点黄金笔记
笔记·git·elasticsearch
工业甲酰苯胺12 小时前
AI低代码破局:制造业数智转型落地实战
大数据·人工智能·低代码·制造
大大大大晴天12 小时前
每天认识一个组件:流式存储Apache Fluss
大数据
熊野君12 小时前
第 4 章 技术产品经理核心能力模型
大数据·人工智能·产品经理
财复视界13 小时前
光智科技从“光学元件”到“稀散金属材料平台”的进化逻辑
大数据·人工智能·科技