【问题标题】:Tire elasticsearch automatically index a record with a hash in the mapping轮胎elasticsearch自动索引映射中带有哈希的记录
【发布时间】:2014-07-11 07:15:16
【问题描述】:

我正在努力解决轮胎问题。

在我的模型中,我在映射中添加了:

indexes :localized_title, :as => "localized_title" 以及返回翻译哈希的函数

def localized_title
  hash = {}
  translations.each do |t|
    hash[t.locale] = t.title
   end
  hash
end

当我创建这个模型的记录时,即使在数据库中创建了记录,它也没有被索引

>Model.search{query{all}}.total
=> 0

但是,如果我手动更新索引,它就会被索引。

>Model.last.update_index
>Model.search{query{all}}.total 
=> 1

after_save update_index 没有帮助。有任何想法吗 ?

我希望记录被自动索引,我该怎么做?

【问题讨论】:

    标签: ruby-on-rails search hash elasticsearch tire


    【解决方案1】:

    您应该在您的本地化标题的映射中设置“对象”的类型,因为它是一个哈希。

    你可以使用

    indexes :localized_title, :as => "localized_title", :type => :object
    

    【讨论】:

      猜你喜欢
      • 2013-07-21
      • 2012-03-22
      • 2012-10-26
      • 2019-07-04
      • 2013-02-28
      • 1970-01-01
      • 2013-12-23
      • 2012-09-24
      • 2012-06-08
      相关资源
      最近更新 更多