思考Sphinx多个表单字段

时间:2012-02-20 03:08:35

标签: mysql ruby-on-rails-3 sphinx thinking-sphinx

一直在努力解决这个问题......

表单截图:http://i.stack.imgur.com/PBWMW.jpg

字段名称/ id: 名字|电子邮件| company_id | USER_TYPE

控制器:

@users = User.search(params[:name], params[:email], params[:company_id], params[:user_type])

型号:

define_index do
   indexes :name
   indexes :email
   indexes :company_id
   indexes :user_type
end

执行此操作的正确方法是,搜索文档但找不到任何有用的信息:(

1 个答案:

答案 0 :(得分:1)

Sphinx中字段最简单的搜索方法是传递哈希。您可以消除nil-s以确保thinking_sphinx将查看传入的请求

conditions = {}
%w(name email company_id user_type).each do |i|
  i = i.to_sym
  next unless params[i]
  conditions[i] = params[i]
end

User.search(:conditions => conditions)