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

Elasticsearch 7.11.1 使用multi_terms聚合提示未知类型报错如何解决

问题原因

multi_terms聚合是Elasticsearch 7.12.0版本才正式新增的功能,你当前使用的7.11.1版本没有内置该聚合类型,因此执行查询时会抛出无法识别聚合类型的报错。普通terms聚合是早期版本就支持的功能,所以可以正常运行。

解决方案

你可以根据实际场景选择以下两种方案:

  • 方案一:升级Elasticsearch版本到7.12.0及以上
    升级完成后无需修改原有查询语法,你编写的multi_terms聚合语句可以直接正常执行。
  • 方案二:低版本兼容替代写法
    如果暂时无法升级,可以使用painless脚本实现多字段聚合的同等效果,示例查询语句如下:
{
  "aggs": {
    "test_agg": {
      "terms": {
        "script": {
          "source": "doc['JobTitle.keyword'].value + '|' + doc['AboutMe.keyword'].value",
          "lang": "painless"
        },
        "size": 10
      }
    }
  }
}

注:该写法返回的聚合键为两个字段用分隔符拼接的结果,你也可以使用双层terms嵌套聚合实现按字段分层统计的效果,写法如下:

{
  "aggs": {
    "job_title_agg": {
      "terms": {
        "field": "JobTitle.keyword",
        "size": 10
      },
      "aggs": {
        "about_me_agg": {
          "terms": {
            "field": "AboutMe.keyword",
            "size": 10
          }
        }
      }
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 01:36:05