You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kibana技术问题:如何排除两个时间戳相差5分钟内的查询结果

在Kibana中排除时间差5分钟内的文档

要实现排除open.timestamp与base.timestamp时间差在5分钟以内的文档,你可以使用Elasticsearch的脚本查询,结合布尔查询的must_not子句过滤掉符合条件的数据。

具体查询DSL

{
  "query": {
    "bool": {
      "must_not": [
        {
          "script": {
            "script": {
              "source": "Math.abs(doc['base.timestamp'][0].toInstant().toEpochMilli() - doc['open.timestamp'][0].toInstant().toEpochMilli()) < 300000",
              "lang": "painless"
            }
          }
        }
      ]
    }
  }
}

关键说明

  • 5分钟换算为毫秒是5*60*1000=300000,脚本通过计算两个时间戳的毫秒差值绝对值,判断是否小于该阈值
  • 你的时间戳字段为数组格式,因此用[0]取数组第一个元素(若字段存在多元素情况,需根据业务逻辑调整取值规则)
  • 需确保base.timestamp和open.timestamp已被Elasticsearch映射为date类型,否则脚本会执行失败

使用方式

  1. 在Kibana的Dev Tools中,将上述DSL粘贴到查询编辑器执行
  2. 若在Discover页面,可切换到「Edit Query DSL」模式,替换原有查询内容即可

内容的提问来源于stack exchange,提问作者Michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 18:15:35