我正在开发一个 Ruby on Rails 项目(版本 7.1.4.1),该项目使用 Chewy(版本 7.6)进行索引。 Chewy 配置了 Elasticsearch Ruby 客户端(版本 7.17.11)以与搜索引擎交互。
在本地,我将 Docker 与 Elasticsearch 图像结合使用:
我的项目中的所有四个索引在这种环境下都工作得很好。
问题
当我尝试将项目连接到 AWS OpenSearch 2.17 时,遇到以下错误:
我也测试过:
但是,我尝试过的所有 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
错误似乎不是来自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