0

Rails 3 アプリで SOLR を使用して検索を行っています。私のコントローラーは公開順に結果を返します。Section.name でサブオーダーしようとしています。子フィールドを order-by 構文に追加するにはどうすればよいですか?

これが私のコードです:

@stories = Story.search do
    paginate(:page => params[:page])
    order_by :pubdate, :desc
    order_by :section_id                <---want to suborder by Section.name
    fulltext params[:search_query]
end
4

1 に答える 1

0

セクション名を使用してソートできるようにするには、親フィールドにセクション名を追加する必要があります。JIRAのSolr結合
機能を チェックして、子フィールドでの並べ替えを有効にすることができます。

ドキュメントに言及:-

SQLに慣れている人にとっては、Solrの結合はSQL結合と実際には同等ではないことに注意することが重要です。これは、「from」で結合されているテーブルに関する情報が最終結果に持ち越されないためです。より適切なSQLの例えは、「内部クエリ」です。

于 2013-01-08T04:02:20.720 に答える