1

私はこのようなモデルを持っています

class Post
  acts_as_tree
end

私がやりたいのは、投稿のスレッド全体の内容を検索することですが、結果で親の投稿のみを返し、これらの結果をページ付けします。

sunspot/solr のファセットについて読んだことがありますが、これは正しい結果を返しますが、ページ付けすることはできません。

基本的に、一連の投稿を検索したいのですが、それらでグループ化しますparent_id。これは太陽黒点/solrで可能ですか?

4

1 に答える 1

2

基本的に、スレッドのすべての子ノードで構成されるフィールドを検索する必要があります。これは、sunspot のブロック構文で行うことができます。投稿がルート ノードの場合は、ノードのすべての子にインデックスを付けます (all_children を実装する必要がありますが、それほど難しくはありません)。

searchable do
  text :posts do
    all_children.map(&:post_body) unless parent
  end
end

次に、この「投稿」テキスト フィールドを検索します。ルート ノードに対してのみインデックスを作成したため、これらは結果セットで返される唯一のオブジェクトです。

于 2011-05-02T18:25:56.060 に答える