2011-06-25 105 views
6

以下情況:太陽黑子:按屬性對屬性進行排序/排序。 created_at

資產模型:

searchable do 
    text :title 
    text :description 
    time :created_at 
    integer :category_ids, :multiple => true, :references => Category 
end 

控制器:

search = Asset.search() do 
    keywords(h(params[:query]), :fields => [:title, :description]) 
    facet(:category_ids) 
    order_by :created_at 
end 

我想我的排序方面:不通過Category_ides:計數(命中數)。這些類別應該由created_at進行排序。查看文檔構面(:category_ids,:sort =>:count ||:index)。這兩個選項不會爲我工作。

如何解決此方面的訂單問題?

回答

8

你可以只加載面,然後自己對它們進行排序:

result = Product.solr_search do |s| 
    s.keywords params[:q] 
    s.facet :category_id 
    s.paginate :per_page => 3, :page => @page 
end 

facet_rows = result.facet(:category_id).rows.sort { |left,right| left.instance.created_at <=> right.instance.created_at } 
+0

工作正常。非常感謝! – Chris

+0

完成,再次感謝;) – Chris