如何从Sphinx结果集中的每个结果中发现关联的模型属性? (Rails,ThinkingSphinx)

时间:2011-03-21 01:04:26

标签: ruby-on-rails search sphinx thinking-sphinx

我有以下Rails模型:

ad
category

ad belongs to category

当我搜索广告时,只搜索广告标题以查找匹配项,我希望能够找出结果集中有多少广告属于每个类别,以便我可以生成一个类别列表显示每个匹配广告数量的名称。

我不知道如何提取类别名称&狮身人面像结果集中每个类别中的广告数量,你能帮忙吗?

1 个答案:

答案 0 :(得分:0)

获取每个类别广告数量摘要的最佳方法是将category_id的属性添加到广告索引定义中,并将其标记为方面。

has category_id, :facet => true

然后,在运行rake ts:rebuild后,让Sphinx知道您的更改,运行一个方面搜索:

Ad.facets[:category_id] # => {1 => 10, 2 => 4}

您需要自己做的额外步骤是将每个类别ID(生成的哈希的键)转换为类别模型/名称。