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

使用@elastic/elasticsearch时出现服务器非受支持Elasticsearch发行版报错

问题根因

报错信息:The client noticed that the server is not a supported distribution of Elasticsearch
这个报错是Elastic官方在@elastic/elasticsearch 7.11及以上版本引入的发行版校验逻辑,会校验连接的服务端是否为官方许可的Elasticsearch发行版。你使用了^7.5.0的版本声明,重新部署安装依赖时,包管理工具会自动拉取7.x分支的最新版本(高于7.11),如果你的服务端是OpenSearch、云厂商托管的非官方ES修改版、自定义构建版,就会触发该报错。

定位步骤
  • 执行命令npm ls @elastic/elasticsearch(npm环境)或yarn list @elastic/elasticsearch(yarn环境),确认实际安装的客户端版本是否≥7.11.0
  • 确认你连接的ES服务端发行版:非Elastic官方发布的版本都会触发校验
  • 检查loopback-connector-esv6的依赖声明,确认是否对客户端版本做了宽松限制,导致自动升版
解决方法

方案1:锁死客户端版本(最快生效)

直接固定@elastic/elasticsearch的版本为无校验的7.5.0,修改package.json中的声明:
将"@elastic/elasticsearch": "^7.5.0"调整为"@elastic/elasticsearch": "7.5.0"
删除项目下的node_modules文件夹、package-lock.json(或yarn.lock)文件,重新执行npm install或yarn install即可。

方案2:关闭发行版校验

如果需要使用高版本客户端,在ES客户端初始化配置中添加disableProductCheck: true关闭校验即可。
如果是通过LoopBack 4的datasource配置,直接在数据源的ES配置项中新增该参数,配置会自动透传给底层客户端:

// datasource配置示例
{
  "name": "es",
  "connector": "esv6",
  "version": "7.5",
  "host": "你的ES地址",
  "port": 9200,
  "disableProductCheck": true
}

方案3:更换兼容客户端

如果服务端已经切换为OpenSearch等兼容分支,可以替换客户端为@opensearch-project/opensearch,该客户端完全兼容ES 7.x的API,无发行版校验逻辑,同步调整对应的connector配置即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 19:09:04