私のモデルには次のものがあります。
searchable do
boost { image? ? 2.0 : 1.0 }
end
コントローラーで次のことを行っています。
@search = Profile.solr_search do
with :is_private, false
without(:id).equal_to(current_profile.id)
order_by :score, :desc
paginate page: (params[:page] || 1), per_page: 9
end
Rails コンソールで試してみProfile.solr_reindex
ましたが、結果の順序が変わりません。 order_by :random
動作しorder_by :name
ますが、スコアで並べ替えることができません。ドキュメント ブーストが機能していないようです。私の目標は、画像が設定されたすべてのプロファイルが最初に表示されるようにすることです。私が現在得ているのは、最初の結果は画像のあるプロファイル、次に画像のないプロファイルの束、次に画像のある別のプロファイルです。
編集:のモデルにフィールドを定義していないことが問題だったのではないかと考えたimage
ので、 に追加string :image
してみましたProfile
。運がない。