Frage

Ich habe ein Modell, das wie folgt aussieht

class Post
  acts_as_tree
end

Das, was ich will zu tun ist, führen Sie eine Suche auf den Inhalt eines ganzen thread posten, sondern nur die Rückkehr des übergeordneten posten in den Ergebnissen, und paginiert diese Ergebnisse.

Ich habe gelesen, über Facetten in sunspot/solr, und während dies die richtigen Ergebnisse zurück, Sie können nicht paginiert sein.

Im Grunde, will ich suchen eine Reihe von posts, aber die Gruppe durch Ihre parent_id.Ist das möglich in sunspot/solr?

War es hilfreich?

Lösung

Sie wollen im Grunde, um die Suche über einen Bereich, der aus allen von thread ' s Kind-Knoten.Sie können dies tun, mit Sonnenflecken die block-syntax.Wenn die post ist ein root node, index alle Knoten, die Kinder (Sie haben zu implementieren all_children, das sollte nicht allzu schwierig sein).

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

Suchen Sie anschließend über dieses "posts" text field.Da Sie nur indizierte alles, was für root-Knoten, dies sind die einzigen Objekte, die zurückgegeben werden in Ihrem ResultSet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top