我想在标准搜索中使用facet。有没有办法让搜索结果本身使用pg_search与facet“搜索”?
据我所知,pg_search_scope是互斥的(有解决方法吗?)。 谢谢!
示例:
1)使用“test”一词搜索博客
2)点击链接,只获取上一个结果中也发布在6月的文章
答案 0 :(得分:8)
我是pg_search
的原始作者和维护者。
pg_search_scope
与任何其他Active Record范围一样,因此您可以链接它们。
因此,假设您的模型Blog
的{{1}}名为pg_search_scope
,另一个名为search_title
的范围包含两个参数,即月份编号和年份编号。像这样:
in_month
然后你可以这样称呼它:
class Blog < ActiveRecord::Base
include PgSearch
pg_search_scope :search_title, :against => :title
scope :in_month, lambda { |month_number, year_number|
where(:month => month_number, :year => year_number)
}
end
反过来也应该有效:
Blog.search_title("broccoli").in_month(6, 2011)
最后也可以调用像Kaminari这样的分页解决方案。