私には3つのモデル(User
、、 )がありTag
、Product
それらは相互作用します。User
Tags
Products
検索のために、ユーザー名、タグ名、製品の説明を(1つの検索バーで)検索できるようにしたいと思います。商品ページも検索したいのですが、タグ名と商品説明にしか関係ありません。
次に2つの例を示します。
検索:「LinusTorvalds」は、3つのモデルのLinus Torvaldsのすべてのインスタンスを返し、ユーザー名のインスタンスは上位に配置されます。
検索:「Linux」、年齢:「20-25」は、名前/説明に「Linux」を含み、その年齢範囲に該当する製品を使用するユーザーのすべてのインスタンスと、「Linux」を含むタグを使用するユーザーを返します。その年齢範囲に該当する製品があります。検索に年齢が含まれていなかった場合、デフォルトでは「Linux」の部分に当てはまるすべての人がデフォルトになります。
私の質問は、これを行うための最良の方法は何でしょうか?独自のコントローラーを使用して検索モデルを作成する必要がありますか?それを無視して、検索部分を共有フォルダーに含める必要がありますか?他にどのような方法がありますか?
どうもありがとう。