黑子:排序/顺序面结果由属性例如created_at

问题描述 投票:6回答:1

资产模型:

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:count(命中数)。类别应created_at订购。综观文档facet(:category_ids, :sort => :count || :index),这两个选项不会为我工作。

我怎样才能解决这个方面的问题顺序?

ruby sorting facet sunspot
1个回答
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 }
© www.soinside.com 2019 - 2024. All rights reserved.