Boh*_*dan 5 search solr ruby-on-rails sunspot
我有两个型号
class User < ActiveRecord::Base
has_many :posts
searchable do
text :post_titles
end
def post_titles
posts.map &:title
end
end
class Post < ActiveRecord::Base
belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)
问题是,当我更新Post太阳黑子的标题时,不会更新相关用户的索引,也无法通过新数据进行搜索.如果我这样做User.index可以解决问题,但需要花费太多时间.是否有更好的解决方案来更新子记录更改的父记录索引(如reindex只是父记录而不是所有用户)?
Boh*_*dan 11
Sunspot提供了一个实例index()方法,用于索引一条记录.
我做的是
class Post
belongs_to :user
after_save :update_user_index
private
def update_user_index
user.index
end
end
Run Code Online (Sandbox Code Playgroud)
如果您在控制台中运行此命令,并希望立即查看结果,请致电 Sunspot.commit
| 归档时间: |
|
| 查看次数: |
3044 次 |
| 最近记录: |