質問: User.search(params[:search]) end ``` ``` def self.search(search) if search User.where('firstname LIKE ? OR lastname LIKE ? OR sex LIKE ?', "%#{search}%", "%#{search}%", "%#{search}%") else User.all end end ``` ### 困っていること 検索ワードにカラムにない単語が含まれるとhitしない。 下記のような曖昧検索はできるが苗字を含むと途端にhitしなくなる。 * 太 * 郎 * 太郎 出来ない検索 * 高橋太郎 * 橋太郎 * 橋太 ...etc なので、検索ワードに余分はワードがあってもhit出来るようにしたい。 出来れば、新規にfirstnameとfamilynameを格納したフルネームのカラムを作らずに検索出来るようにしたい。
回答: LIKEだとconcatしないといけず面倒なのでどうせインデックス効かないなら regexp ``` ? regexp firstname or ? regexp lastname ```