0

感谢您抽出宝贵的时间

问题

我在基于模糊名称搜索和精确区域搜索搜索记录时遇到问题。这就是我现在所拥有的:

我现在拥有的

# :klantnaam is a param from a search-form
@param = Staffingcustomer.search do
    fulltext params[:klantnaam]
end
@staffingcustomers = @param.results

还有另一个字段,“区域”。
结果应该只与某个“区域”有关。

示例要求

例如,
我是 Regio 3 的用户。我想使用模糊名称搜索 Anne 和我自己的 Regio 3 可视化/选择所有 Staffingcustomers。所以,我不想看到带有 Regio 2 的 Staffingcustomers。

现在发生的事情是:

@param = Staffingcustomer.search do
     fulltext 'anne'
end
@staffingcustomers = @param.results

将返回所有不同区域的所有 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

但这似乎行不通。

你能帮我解决这个问题吗?

逻辑问题

实际上,这是对一个巨大表的“精确选择”部分的模糊搜索。

希望你能帮忙。

提前致谢。

克斯。

4

1 回答 1

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 块中的区域索引为您存储在数据库中的任何数据类型(例如整数)。

于 2012-11-12T22:00:58.370 回答