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

相关推荐
招财小梗6 小时前
AI矩阵获客,品牌连锁落地有啥方案?
大数据·人工智能·矩阵
黎子越6 小时前
大模型基础名词概念
大数据
zandy10117 小时前
主流 AI Agent搜索Skill推荐及高阶选型指南
大数据·人工智能
跨境卫士苏苏7 小时前
2026年做跨境电商,TikTok美区半托管这3个品类正在严查,第2个很多新手还在铺货
大数据·人工智能·跨境电商·营销策略
GIS数据转换器7 小时前
村镇无人机物流配送与跨域监测一体化平台
大数据·运维·人工智能·科技·无人机
骇客野人7 小时前
基于Nginx+Eureka+Apollo+Jenkins+SpringBoot Web系统分布式部署方案
nginx·eureka·jenkins
知识燃料7 小时前
企业技术决策者落地 AI Agent 体系,AWS 中国峰会有哪些战略与工程内容可看?
大数据·人工智能
TDengine (老段)8 小时前
TDengine 第三方工具 — Telegraf、Kafka Connect、Flink、Spark
大数据·数据库·物联网·flink·kafka·时序数据库·tdengine
guwentian16 小时前
Git Worktree 实战:用并行多 Agent 把开发提速 N 倍
大数据·git·elasticsearch·wroktree
2503_9317124819 小时前
OpenInsight领衔:企业AI数据分析平台(Data Agent/智能问数/智能数据报告)
大数据