Searchkick Elasticsearch 抛出 400 错误

R.J*_*son 1 ruby ruby-on-rails elasticsearch searchkick

我最近更新到 High Seirra,不确定这是否意味着什么,当我尝试重新索引 Active Record 模型时,我现在收到此错误。

我尝试过的事情。我已经重新安装了 RVM、Ruby、Elasticsearch。仍然遇到同样的错误。

我团队中的其他人也进行了相同的升级,并且运行得很好。以下是我收到的错误。

Elasticsearch::Transport::Transport::Errors::BadRequest: [400] {"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"Failed to parse mapping [_default_]: Could not convert [word_start.index] to boolean"}],"type":"mapper_parsing_exception","reason":"Failed to parse mapping [_default_]: Could not convert [word_start.index] to boolean","caused_by":{"type":"illegal_argument_exception","reason":"Could not convert [word_start.index] to boolean","caused_by":{"type":"illegal_argument_exception","reason":"Failed to parse value [analyzed] as only [true] or [false] are allowed."}}},"status":400}
from /Users/rrobin244/.rvm/gems/ruby-2.3.3/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/base.rb:202:in `__raise_transport_error'
Run Code Online (Sandbox Code Playgroud)

小智 5

检查 Gemfile.lock 并检查那里的 elasticsearch 版本。如果它与本地系统中的elasticsearch版本不匹配,请删除gemfile.lock文件并运行该捆绑包。这为我解决了这个问题。