【问题标题】:Reindex for i18n Translations with searchkick and globalize combination使用 searchkick 和 globalize 组合重新索引 i18n 翻译
【发布时间】:2018-09-28 23:27:56
【问题描述】:

我在我的 rails 应用程序中使用了以下两个 gem:

我在我的 rails 应用程序中安装了 i18n 翻译 globalize gem,具有以下模型:

class Service < ApplicationRecord
    translates :description, :name
    searchkick
end

具有属性 id、created_at 和 updated_at

class ServiceTranslation < ApplicationRecord
end

具有 id、service_id、locale、name、created_at 和更新 at 属性

我在我的服务器中使用 Ubuntu 16.04.4 LTS。我在 ubuntu 中的 elasticsearch 版本是 2.3.1,而在 rails 应用程序中 searchkick 版本是 3.0.2。

当我使用 searchkick 方法 Service.reindex 在服务模型中重新索引我的模型服务时,出现以下错误:

服务导入 (377.4ms) {"count":29,"exception":["Searchkick::ImportError","{"type"=\u003e"mapper_parsing_exception", "reason"=\u003e"找不到在 ID 为“1”的项目上为 [name]"} 键入已解析的 [keyword]"],"exception_object":"{"type"=\u003e"mapper_parsing_exception", "reason"=\u003e"未能找到已解析的类型 [ id 为“1”的项目上的 [name]"} 的关键字]"} Searchkick::ImportError: {"type"=>"mapper_parsing_exception", "reason"=>"failed to find type parsed [keyword] for [name]"} 在 id 为 '1' 的项目上 来自 (irb):1

任何帮助将不胜感激。提前致谢。

【问题讨论】:

    标签: elasticsearch ruby-on-rails-5 searchkick


    【解决方案1】:

    Searchkick 3 仅支持 Elasticsearch 5+。如果您无法升级 Elasticsearch,请使用 Searchkick 2.5。

    gem "searchkick", "~> 2.5"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-27
      • 2013-07-09
      • 2020-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多