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

Ruby on rails 如何从Sphinx结果集中的每个结果中发现关联的模型属性?(Rails,ThinkingSphinx),ruby-on-rails,search,sphinx,thinking-sphinx,Ruby On Rails,Search,Sphinx,Thinking Sphinx,我有以下Rails型号: ad category ad belongs to category 当我搜索一个广告时,只搜索广告标题以匹配,我希望能够找出结果集中有多少广告属于每个类别,这样我就可以生成一个类别名称列表,显示每个类别中有多少匹配的广告 我不知道如何从sphinx结果集中提取类别名称和每个类别内的广告数量,你能帮忙吗 获取每个类别的广告数量摘要的最佳方法是在广告索引定义中添加类别id的属性,并将其标记为方面 has category_id, :facet => true

我有以下Rails型号:

ad
category

ad belongs to category
当我搜索一个广告时,只搜索广告标题以匹配,我希望能够找出结果集中有多少广告属于每个类别,这样我就可以生成一个类别名称列表,显示每个类别中有多少匹配的广告


我不知道如何从sphinx结果集中提取类别名称和每个类别内的广告数量,你能帮忙吗

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

has category_id, :facet => true
然后,在运行rake ts:rebuild以便Sphinx知道您的更改后,运行facet搜索:

Ad.facets[:category_id] # => {1 => 10, 2 => 4}
您需要自己完成的额外步骤是将每个类别id和结果哈希的键转换为类别模型/名称