我尝试使用TS进行搜索,其中结果按属性分组(在示例中:类别)。
这样的结构(不必是数组):
[[id: 1, name: this, category: foo] [id: 2, name: this, category: foo]],
[[id:3, name: this, category: bar], [id:4, name: this, category: bar]]
我想我可以通过属性对结果进行排序,然后通过属性生成我想要的结构,但是我试图看看它是否可能是TS执行此操作对我而言,无需使用rails来检查每个结果项。
我需要这个结构来显示按属性分类的结果元素。
我尝试过使用GROUP_BY,但每个属性只返回1个元素,这让我觉得我要么不理解GROUP_BY,要么我没有正确地进行查询:
Video.search(Search.build_options.merge({:conditions => {:name => "this"}, group_by: :category}))
我正在使用当前版本的Sphinx和Thinking Sphinx,
答案 0 :(得分:1)
正如Barry在评论中指出的那样,Sphinx的分组方法是为每个分组的属性值返回一条记录,而不是该值的结果集合。因此,Thinking Sphinx也是这样的。
如果你想要为每个值收集结果,你将不得不自己构建 - 你绝对不能依靠TS来为你做这些。