如何使用单个搜索字段表单输出所有模型的所有记录?

时间:2011-01-13 17:37:19

标签: ruby-on-rails postgresql model full-text-search

我想创建一个非常简单的搜索表单,基本上是一个字段,它出现在我的应用程序的每个页面的标题中。

我的应用程序有几个模型,每个模型都有几个字段。

我想知道如何将搜索作为参数传递到输出中,该输出显示该文本项的所有实例(意味着,如果有两个元素,一个名字和一个姓氏,例如,它会提取具有两个值的记录。)

我目前使用searchlogic,但我认为这确实是特定于字段的。因为我在heroku上,所以看了一下texticle,但我仍然不清楚该怎么做或者这是否正确。谢谢。

1 个答案:

答案 0 :(得分:0)

尝试SOLR - 它将创建模型的索引,您可以搜索它。 SOLR是搜索引擎 - 在轨道中使用以下宝石:'sunspot','sunspot_rails'

你会做类似的事情:

@sunspot_search = Sunspot.search User, Event, Coupon do |query| 
  query.keywords @search_query
  query.with(:starts_at).greater_than Time.now
  query.order_by(:starts_at, :asc)
  query.paginate(:page => @page_number, :per_page => 200)
end

@sunspot_search将包含您将迭代的结果数组。

http://websolr.com/让您轻松设置;适用于Heroku。