我正在对资源执行太阳黑子 (solr) 搜索,并按我当前用户最喜欢的资源过滤结果。使用下面的代码可以完美地工作,但是它要求我对结果进行排序并在用户收藏该项目时显示(也就是在收藏夹模型上创建的日期)。我不知道如何将其集成到我的搜索中,同时保持特定于用户的日期。任何想法或解决方案将不胜感激。
class Resource < ActiveRecord::Base
has_many :favorites
has_many :favorite_users, through: :favorites
searchable do
text :title
...
integer :favorite_user_ids, references: User, multiple: true
end
def self.full_search(params={}, current_user)
search = Resource.search do
keywords params[:term]
with(:favorite_user_ids, current_user.id) if params[:filter] == 'favorite'
end
search
end
end