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

Elasticsearch查询报错:按jobid去重获取错误记录失败

Elasticsearch查询语法错误排查

错误原因

你的Query DSL把aggs(聚合配置)错误嵌套在了query对象内部。Elasticsearch的查询结构中,query和aggs是同级的顶级字段,不能将聚合放在查询语句内部,这直接导致了语法解析错误。

修正后的基础查询(仅获取唯一jobid)

如果只是需要获取所有出现ERROR的唯一metadata.CSBJobId,将aggs移到和query同级的位置即可:

{
  "query": {
    "match_phrase": {
      "level": "ERROR"
    }
  },
  "aggs": {
    "unique_jobs": {
      "terms": {
        "field": "metadata.CSBJobId"
      }
    }
  }
}

进阶需求:获取每个jobid对应的ERROR记录

如果你的实际需求是返回每个jobid对应的具体ERROR记录,单纯的terms聚合只能得到jobid的统计计数,需要搭配top_hits聚合来获取每个分组下的文档内容:

{
  "query": {
    "match_phrase": {
      "level": "ERROR"
    }
  },
  "aggs": {
    "unique_jobs": {
      "terms": {
        "field": "metadata.CSBJobId"
      },
      "aggs": {
        "error_records": {
          "top_hits": {
            "size": 10  // 可根据需要调整每个jobid返回的记录数
          }
        }
      }
    }
  },
  "size": 0  // 如果不需要返回原始查询的文档列表,可设置为0
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 16:52:02