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

Elasticsearch中RRF查询报错:未知[retriever]字段

问题

我直接复制Elasticsearch官方文档中的RRF搜索代码在Kibana中执行,代码如下:

GET example-index/_search
{
    "retriever": {
        "rrf": {
            "retrievers": [
                {
                    "standard": {
                        "query": {
                            "term": {
                                "text": "rrf"
                            }
                        }
                    }
                },
                {
                    "knn": {
                        "field": "vector",
                        "query_vector": [3],
                        "k": 5,
                        "num_candidates": 5
                    }
                }
            ],
            "window_size": 5,
            "rank_constant": 1
        }
    },
    "size": 3,
    "aggs": {
        "int_count": {
            "terms": {
                "field": "integer"
            }
        }
    }
}

执行后却报出解析错误:

{
  "error": {
    "root_cause": [
      {
        "type": "parsing_exception",
        "reason": "Unknown key for a START_OBJECT in [retriever].",
        "line": 2,
        "col": 18
      }
    ],
    "type": "parsing_exception",
    "reason": "Unknown key for a START_OBJECT in [retriever].",
    "line": 2,
    "col": 18
  },
  "status": 400
}

我预期代码能正常运行,不清楚报错原因。

解决方案

这个报错的核心原因是你的Elasticsearch版本不支持retriever语法。RRF(Reciprocal Rank Fusion)的这种顶层retriever参数是Elasticsearch 8.13.0及以上版本才新增的功能,如果你使用的版本低于8.13.0,Elasticsearch会无法识别retriever这个字段,从而抛出解析异常。

解决办法:

  • 升级你的Elasticsearch集群到8.13.0或更高版本,之后就能直接运行这段代码。
  • 如果暂时无法升级,可以使用旧版本的RRF语法——通过rank参数来实现RRF融合,示例代码如下:
GET example-index/_search
{
  "rank": {
    "rrf": {
      "window_size": 5,
      "rank_constant": 1
    }
  },
  "queries": [
    {
      "term": {
        "text": "rrf"
      }
    },
    {
      "knn": {
        "field": "vector",
        "query_vector": [3],
        "k": 5,
        "num_candidates": 5
      }
    }
  ],
  "size": 3,
  "aggs": {
    "int_count": {
      "terms": {
        "field": "integer"
      }
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 18:45:00