如何修复#<Elasticsearch :: API :: Indices :: IndicesClient:0x00007fc31b6ed558>的'未定义方法`get_aliases'

ben*_*j-p 3 ruby-on-rails elasticsearch searchkick

我正在尝试在Ruby on Rails(5.2.2)项目上使用Searchkick gem设置ElasticSearch。我正在按照https://github.com/ankane/searchkick上的设置说明进行操作,但是当我尝试将数据添加到搜索索引(Modelname.reindex在rails控制台中运行)时遇到了以下错误。

NoMethodError: undefined method `get_aliases' for # 
<Elasticsearch::API::Indices::IndicesClient:0x00007fc31b6ed558>
Did you mean?  get_alias
from /Users/XXXX/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/searchkick-3.1.2/lib/searchkick/index.rb:104:in `all_indices'
Run Code Online (Sandbox Code Playgroud)

我尝试卸载ElasticSearch和Searchkick gem并重新安装。而且我还尝试将index.rb文件中的get_aliases更改为get_alias。

Modelname.reindex 应该允许我将数据添加到搜索索引中。

Dau*_*uul 6

我只是遇到了同样的问题。Searchkick依赖最新版本的Elasticsearch gem(实际上是10个小时前发布)从Elasticsearch中删除的东西似乎是一个问题。

希望它会尽快修复,但是如果您现在真的需要它,请将其放入Gemfile即可解决该问题:

gem 'elasticsearch', '~> 6.2.0'
Run Code Online (Sandbox Code Playgroud)