【发布时间】:2014-09-19 02:25:13
【问题描述】:
我正在使用带有 Rails 4 的 Sunspot Search,它运行良好,只有一件事我无法弄清楚,经过几天的头撞墙后,我决定在这里问。
我有一个具有一些布尔属性的模型用户。我想这样当我搜索属性名称时,如果属性为真,搜索结果将返回具有该属性的所有对象。
除了 'true' 和 'false' 之外的字符串属性和实际值非常适合搜索。
我的用户模型(user.rb):
class User << ActiveRecord::Base
searchable do
text :zip, :name, :email
boolean :cpr
boolean :first_aid
boolean :survival_kit
end
end
我的搜索控制器 (search_controller.rb)。我正在使两个模型可搜索:
class SearchController << ApplicationController
def search
@search = Sunspot.search(User, CoolingCenter) do
fulltext params[:search]
end
@results = @search.results
respond_to do |format|
format.json { render json: @results}
format.html { render '_results', layout: true }
end
end
end
例如,如果我搜索“cpr”,搜索结果将是所有具有属性 :cpr = true 的用户。
非常感谢您的帮助!
【问题讨论】:
标签: ruby-on-rails search solr boolean sunspot