我查看了sphinx并观看了railscast教程,但我不需要全文搜索。我希望能够允许人们通过姓名或电子邮件搜索用户。在有人通过姓名或电子邮件搜索用户后,他们可以通过添加用户的城市来进一步过滤它。
我并不认为全文搜索是必要的。但是我从来没有在rails中进行过任何搜索,我不知道如何在没有gem的情况下进行搜索。
我知道它有点像User.where(:name =>),基于我的谷歌搜索或类似的东西,但我不确定它是如何完成的,或者这是否有利于性能。
我如何实现我想要做的事情,并且必须进行全文搜索?
答案 0 :(得分:4)
两栏WHERE
:
User.where("name like ? or email like ?", "%steve%", "%gmail%")
城市范围:
User.where("name like ? or email like ?", "%steve%", "%gmail%").where("city like ?", "%vegas%")
请注意,不区分大小写的LIKE语法因数据库而异。我使用Postgres,所以我为ILIKE
加入了不敏感的喜欢。