3

私はスフィンクスを調べて、レールキャストのチュートリアルを見ましたが、全文検索は必要ありません。名前または電子メールでユーザーを検索できるようにしたいと考えています。また、名前またはメールでユーザーを検索した後、ユーザーの市区町村を追加して、さらにフィルター処理できます。

そのために全文検索が必要だとは本当に思いません。しかし、私はレールで検索を行ったことがなく、宝石なしで検索する方法がわかりません。

グーグルなどに基づいて User.where(:name=> ) のようなものであることは知っていますが、それがどのように行われるか、またはこれがパフォーマンスに適しているかどうかは正確にはわかりません。

やりたいことをどのように実装できますか? 全文検索は必要ですか?

4

1 に答える 1

4

2 列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、鈍感な好きな人に立ち寄ります。

于 2013-06-13T20:26:35.740 に答える