我正在使用太阳黑子搜索和Rails 4并且它工作得非常好,我只有一件事能够解决,经过几天的打击我靠在墙上,我决定在这里问。
我有一个带有一些布尔属性的模型User。我想这样做,以便当我搜索属性名称时,如果属性为true,搜索结果将返回具有该属性的所有对象。
属于字符串并具有实际值的属性除了' 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&#39;”,搜索结果将是具有以下属性的所有用户:cpr = true。
非常感谢您的帮助!
答案 0 :(得分:0)
尝试在fulltext params[:search]
行之后添加条件:
fulltext params[:search]
with :cpr, true
with :first_aid, true
with :survival_kit, true