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 回答