0
我無法弄清楚如何遍歷已設置爲group_by
的ThinkingSphinx搜索結果。我目前有以下幾種:如何迭代ThinkingSphinx中的分組結果?
search = Event.search(
{
group_by: 'category_id',
group_function: :attr
}
)
search.each_with_groupby_and_count do |event, group, count|
puts [event, group, count].join(' - ')
end
但是,這隻會爲每個類別返回一條記錄。看起來團體和計數值是正確的,但我只能得到每個類別的第一個事件,我預計這個事件是組中的所有事件。是否有可能獲得一個哈希或類似的數組?此外,如果這是可能的話,per_page
選項是每個組?
我希望each_with_group_and_count遍歷是這樣的:
[
{group: 1, hits: [Event1, Event2], count: 2},
{group: 2: hits: [Event3], count: 1}
]
這很不幸。按類別排序並跟蹤更改並不能解決我的問題,因爲我想顯示每個類別的前10個結果。如果第一類碰巧有100個事件,並且每個頁面的結果都是100,那麼爲了得到我需要的結果,我將不得不遍歷多個頁面,這將會有點不可預測。我認爲在這種情況下,最好只爲每個類別分別查詢。感謝您的洞察力。 – 2013-04-05 13:09:56