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

相关推荐
龙孚信息8 小时前
DXP进化论 贰-品牌出海深水区,你的数字体验基础设施跟上了吗?
大数据
kirs_ur9 小时前
SSD 在 AI 训练中的角色
大数据·服务器·人工智能
泡沫冰@10 小时前
基于Git、Jenkins、Podman、ECS的CI/CD实践
git·jenkins·podman
AI探索先锋10 小时前
AMD 2nm 芯片炸裂、欧洲首家人形机器人独角兽诞生、AI Agent 互联标准打响:10 条信号看懂产业变局|今日科技 AI 机器人快讯
大数据·人工智能·深度学习·搜索引擎·机器人
zzzll111111 小时前
字节 Agent 三面:讲讲 Agent 的记忆系统怎么设计?
大数据
聚焦前沿11 小时前
涡街流量计用户如何判断厂家是否靠谱
大数据·人工智能
莫名的好感°13 小时前
国内AI视频工具哪家强?FusionAI聚合即梦Seedance、可灵Kling、HappyHorse、Google Veo,一个平台看懂所有选择
大数据·人工智能
咖啡星人k13 小时前
企业内网引入 AI 编程:MonkeyCode 私有化部署思路
大数据·人工智能·私有化部署·monkeycode
oort12314 小时前
吃上了自家的细糠,还挺丝滑,用起来手感还行,OortCloud发布新版AI编程平台,下载 OortCodex,Token多,免费薅
大数据·开发语言·人工智能·ai编程