有没有办法在pg_search gem中使用facet

时间:2011-10-20 15:14:29

标签: ruby-on-rails ruby-on-rails-3 postgresql full-text-search pg-search

我想在标准搜索中使用facet。有没有办法让搜索结果本身使用pg_search与facet“搜索”?

据我所知,pg_search_scope是互斥的(有解决方法吗?)。 谢谢!

示例:

1)使用“test”一词搜索博客

2)点击链接,只获取上一个结果中也发布在6月的文章

1 个答案:

答案 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这样的分页解决方案。