我们将 Sunspot Solr 与 Rails 3.1 应用程序一起使用。我们有一个正在搜索的位置模型。这是搜索的代码
location_search = Location.search do
keywords params[:search][:keywords] if params[:search][:keywords].present?
with :category_ids, category_id if category_id.present?
unless params[:search][:keywords].present?
order_by :premium, :desc
end
if params[:search][:sort].present?
field, direction = params[:search][:sort].split('-')
else
order_by :score, :desc
order_by :random
end
paginate :page => params[:search][:page], :per_page => per_page
end
我的问题是如何让位置在结果中随机化,同时保持分页相同?意思是,我想对结果进行随机排序(不是按记录创建日期或名称),但我希望结果的第 2 页是相同的列表,即使我刷新页面(并将 2 传递给 params[:search][:page ])。理想情况下,当前用户会话的顺序将保持不变。
这样做的原因是我们网站上的位置付费是溢价的,所以溢价结果应该排在第一位,但是那些不付费的人应该是随机的,所以我们不喜欢位置,因为它们的创建顺序或基于名称的顺序.
谢谢!非常感谢您的帮助。