收到 ProductNotSupportedError:客户端注意到服务器不是 Elasticsearch,我们不支持此未知产品

Lak*_*hay 0 egg node.js elasticsearch

将 midwayjs 服务从 v2 升级到 v3,但现在我无法连接到 elasticsearch。以下是 package.json 依赖项:

"@elastic/elasticsearch": "7.12.0",
"egg": "^3.3.3",
"egg-elasticsearch-ts": "^1.1.1"
Run Code Online (Sandbox Code Playgroud)

出现以下错误:

获取 fs 状态错误 ProductNotSupportedError:客户端注意到服务器不是 Elasticsearch,我们不支持此未知产品。在 Transport.request 处

元:{ body:null,statusCode:null,headers:null,meta:{ context:null,请求:[Object],名称:'elasticsearch-js',连接:null,尝试:0,中止:false } } }

Sag*_*tel 5

由于您使用的是 7.10 版本的 ElasticSearch,而弹性客户端是 7.12,因此它会抛出此异常。

请删除 ElasticSearch 客户端 7.12 并安装 ElasticSearch 客户端 7.10 版本,这将解决您的问题。

另外,据我了解,您正在使用 AWS ElasticSearch 服务,现在是 AWS OpenSearch。

更新:

正如您在评论中提到的,您使用的是 Opensearch 2.0.1 版本,因此您需要使用Opensearch Javascript 客户端而不是 Elasticsearch 客户端。