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更好地利用查询缓存。

相关推荐
Elasticsearch2 天前
通用表达式语言 ( CEL ): CEL 输入如何改进 Elastic Agent 集成中的数据收集
elasticsearch
武子康2 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康3 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP3 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
够快云库3 天前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
AI周红伟3 天前
周红伟:智能体全栈构建实操:OpenClaw部署+Agent Skills+Seedance+RAG从入门到实战
大数据·人工智能·大模型·智能体
B站计算机毕业设计超人3 天前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法
计算机程序猿学长3 天前
大数据毕业设计-基于django的音乐网站数据分析管理系统的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
大数据·django·课程设计
B站计算机毕业设计超人3 天前
计算机毕业设计Django+Vue.js音乐推荐系统 音乐可视化 大数据毕业设计 (源码+文档+PPT+讲解)
大数据·vue.js·hadoop·python·spark·django·课程设计
十月南城3 天前
数据湖技术对比——Iceberg、Hudi、Delta的表格格式与维护策略
大数据·数据库·数据仓库·hive·hadoop·spark