【发布时间】:2017-06-03 23:58:07
【问题描述】:
我正在尝试使用 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,
【问题讨论】:
-
每组一个元素,有点像分组的定义。您每组获得一个,以及该组中的项目数。它是一个聚合函数。听起来您可能不想真正“分组”,但也许只是“排序”,以便来的类别的行是相邻的? - 如果这不能解释,也许可以详细说明您寻找的实际结构
标签: ruby-on-rails search grouping sphinx thinking-sphinx