太阳黑子:按属性排序/排序构面结果,例如created_at

发布于 2024-11-17 01:16:22 字数 599 浏览 1 评论 0原文

资产模型:

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

我不想通过 :count (点击次数)对我的方面 :Category_ides 进行排序。类别应按 created_at 排序。查看文档facet(:category_ids, :sort => :count || :index),这两个选项都不适合我。

如何解决构面的顺序问题?

Asset model:

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

Controller:

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

I would not like to sort my facet :Category_ides via :count (number of hits). The categories should be ordered by created_at. Looking at the documentation facet(:category_ids, :sort => :count || :index), both options won't work for me.

How can I solve this order problem for facets?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

还不是爱你 2024-11-24 01:16:22

您可以只加载方面,然后自己对它们进行排序:

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 }

You can just load the facets and then sort them yourself:

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 }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文