我正在使用多个标量字段,我希望将范围内的结果推到搜索结果的顶部,而不排除不符合收藏作者标准的结果。
文章拥有并属于许多作者
这不起作用,但我正在寻找:
favorite_author_ids = @current_user.favorite_author_ids
@search = JournalArticle.solr_search do
fulltext params[:article_title]
any_of do
boost(2.0) {with(:author_ids), favorite_author_ids}
with(:author_ids), []
end
end
我想我可以进行两次搜索并连接结果,但我想知道是否有更清洁的方法。
答案 0 :(得分:2)
在any_of
块内部进行增强是没有意义的。你可能想做这样的事情:
favorite_author_ids = @current_user.favorite_author_ids
@search = JournalArticle.solr_search do
fulltext params[:article_title] do
boost(2.0) {with(:author_ids, favorite_author_ids)}
end
end
如果您只想增加喜爱作者的位置,或者您希望他们始终位于顶部,您可能还需要增加提升。