Rails3.1アプリではSunspotSolrを使用しています。検索しているロケーションモデルがあります。これが検索のコードです
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をparams [:search] [:pageに渡しても)結果のページ2を同じリストにしたいのです。 ])。理想的には、現在のユーザーセッションの順序は同じままです。
この理由は、サイト上の場所はプレミアムであるため、プレミアムの結果が最初に表示されるためですが、支払わない人はランダム化する必要があるため、作成された順序または名前に基づく順序のために場所を優先しません。
ありがとう!ヘルプは本当にありがたいです。