gpt4 book ai didi

ruby-on-rails - 用太阳黑子重新索引一个特定的记录

转载 作者:行者123 更新时间:2023-12-04 17:11:35 24 4
gpt4 key购买 nike

我有两个模型

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

问题是,当我更新 Post sunspot 的标题时,不会更新相关用户的索引,并且无法通过新数据进行搜索。如果我这样做 User.index它解决了问题,但需要太多时间。是否有更好的解决方案来更新子记录更改时的父记录索引(例如重新索引仅父记录而不是所有用户)?

最佳答案

Sunspot 提供实例 index()方法,用于索引一条记录。

我所做的是

 class Post 

belongs_to :user
after_save :update_user_index

private

def update_user_index
user.index
end
end

如果您在控制台中运行它,并希望立即查看结果,请调用 Sunspot.commit

关于ruby-on-rails - 用太阳黑子重新索引一个特定的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10453022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com