2017-05-15 13 views
2

私はRailsアプリでSolr sunspot gemを使用します。私が今持っているもの:order_by(:some_time, :desc)。私は何をする必要があることです。Solr(太陽黒点)条件付き注文_by

:some time列の値は、最後の時間内であれば、この条件を持つすべてのレコードが:status列順に並んでいそう:some_time

が注文した私は、ドキュメント内の類似した何かを見つけると私はなかったですこれを実装するための良い方法は何か分かりません。

PS:ソルの検索が終了した後にグループ化して注文しようとしましたが、重く見えます。一貫しているはずですので、ソルジャーとやりたいことがあれば、行きたいです。 。

+0

結果に100レコードあり、そのうち25レコードが条件を満たしている場合は、25レコードを 'status'でソートし、' sometime'で休止するか、すべてのレコードを 'status'でソートしますか? –

+0

@ Md.FarhanMemonもしそれらのうち25人が条件( ':some_time> Time.now - 1.hour')を満たし、':status'と ':some_time'で順序付けし、':some_time' – Vla

答えて

0

太陽黒点の宝石は、order_by_functionと言って、Solrのfunctional ordering ability( "Search by Function"の検索)を使用します。 (文書のミリ秒単位で年齢を見つけ、1時間以内のものが0に「フラット化」:他の言葉で

order_by_function(:map, [:ms, [:NOW, :some_date], '0', '3600000', '0'], :status) 

を:あなたは、それは(テストしていない)のように、このまたは何かができるようなので、それは私には見えます彼らはすべて結ばれている)。状態別に並べ替えて結びつける。それはうまくいくはずだよね?

関連する問題