【问题标题】:Searchkick Elasticsearch throwing a 400 errorSearchkick Elasticsearch 抛出 400 错误
【发布时间】:2020-03-02 18:09:37
【问题描述】:

我最近更新到 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'

【问题讨论】:

  • 听起来你是在本地环境中运行它(在你的 Mac 上)。您正在索引的数据库是否与团队其他成员的数据库不同?我猜是的,而且很可能问题在于您在本地拥有的一些其他人没有的数据......现在弄清楚那是什么......

标签: ruby-on-rails ruby elasticsearch searchkick


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,我不得不在我的 Mac 上升级 elasticsearch

    brew upgrade elasticsearch
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-18
      • 2013-03-20
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多