如何使用 Chewy (7.6) 将 Ruby on Rails 项目连接到 AWS OpenSearch 2.17?

问题描述 投票:0回答:1

我正在开发一个 Ruby on Rails 项目(版本 7.1.4.1),该项目使用 Chewy(版本 7.6)进行索引。 Chewy 配置了 Elasticsearch Ruby 客户端(版本 7.17.11)以与搜索引擎交互。

在本地,我将 Docker 与 Elasticsearch 图像结合使用:

  • ES 8.16(最新)或 ES 7.17

我的项目中的所有四个索引在这种环境下都工作得很好。

问题

当我尝试将项目连接到 AWS OpenSearch 2.17 时,遇到以下错误:

error message

我也测试过:

  • AWS OpenSearch 1.3
  • AWS Elasticsearch 7.10

但是,我尝试过的所有 AWS 版本都会出现相同的错误。

我怀疑这是 Chewy、Elasticsearch Ruby 客户端和 AWS OpenSearch/Elasticsearch 之间的版本兼容性问题。

这是 AWS OpenSearch 或 Elasticsearch 版本的已知兼容性问题吗? 如果是,可能的修复或解决方法是什么? 我是否需要升级/降级任何库或切换到特定版本的 AWS OpenSearch?

任何指导将不胜感激!

配置

耐嚼版本:7.6

Elasticsearch Ruby 客户端:2011 年 7 月 17 日

尝试过的 AWS OpenSearch 版本:2.17、1.3

尝试过的AWS Elasticsearch版本:7.10

ruby-on-rails amazon-web-services elasticsearch amazon-opensearch chewy-gem
1个回答
0
投票

错误似乎不是来自Chewy,而是来自elasticsearch客户端gem。

根据此线程,一种解决方案/解决方法是将客户端的版本固定到

<7.14

https://github.com/elastic/elasticsearch-ruby/issues/1429

如果我理解正确的话,该错误是由于

Elasticsearch Ruby Client: 7.17.11
的许可证与
AWS Elasticsearch 7.10
许可证不兼容(?)

IDK 这是怎么回事

AWS OpenSearch

© www.soinside.com 2019 - 2024. All rights reserved.