感谢您抽出宝贵时间
我在基于模糊名称搜索和精确的Regio搜索搜索记录时遇到问题。这就是我现在所拥有的:
# :klantnaam is a param from a search-form
@param = Staffingcustomer.search do
fulltext params[:klantnaam]
end
@staffingcustomers = @param.results
还有另一个领域,'Regio' 结果应该只有一个'Regio'。
所以例如,
我是Regio 3的用户。
我想用模糊名称搜索Anne和我自己的Regio 3来可视化/选择所有Staffingcustomers。所以,我不想看到有Regio 2的Staffingcustomers。
现在发生的事情是:
@param = Staffingcustomer.search do
fulltext 'anne'
end
@staffingcustomers = @param.results
将使所有不同的Regios返回所有Staffingcustomers ......
我认为它可能类似于以下内容:
@param = Staffingcustomer.search do
fulltext params[:klantnaam]
end
@staffingcustomers = @param.results.find(:all, :conditions => {:regio => 3})
或
@param = Staffingcustomer.search do
fulltext params[:klantnaam] and fulltext '3' ## or 3, without the quotes
end
@staffingcustomers = @param.results
但这似乎不起作用。
你能帮我解决这个问题吗?
实际上,这是对巨大桌子的“精确选择”部分的模糊搜索。
希望你能提供帮助。
提前致谢。
KERS。
答案 0 :(得分:0)
我想你想要这样的东西:
# find Staffing Customers with Regio 3 and text of params[:klantnaam]
@param = Staffingcustomer.search do
with(:regio, 3)
fulltext params[:klantnaam]
end
@staffingcustomers = @param.results
请参阅https://github.com/sunspot/sunspot#readme。您还必须将您的Staffingcustomer模型的Searchable块中的regio编入索引,作为您在DB中存储的任何数据类型(例如,整数)。