[RAILS] Implémenter la fonctionnalité de recherche à l'aide de la clause LIKE

Lors de la recherche de données stockées dans la base de données et de leur affichage sur HTML, elles sont fondamentalement implémentées en utilisant quelque chose qui s'appelle une "clause LIKE".

Comment utiliser la clause LIKE

Nom de la classe de modèle.where('Nom de la colonne pour rechercher LIKE(?)', "Mots clés à rechercher")

Cependant, avec cela, seule la correspondance parfaite peut être affichée dans les résultats de la recherche. (Par exemple, lorsque vous recherchez "baseball" sur Google, certains qui ne correspondent pas exactement (terrain de baseball, baseball professionnel, etc.) apparaîtront dans les résultats de la recherche.

Si vous souhaitez effectuer un tel réglage, Si vous spécifiez la clause LIKE en mettant% avant et après le mot-clé à rechercher, le mot-clé inclus dans la chaîne de caractères sera frappé.

Product.where('title LIKE(?)', "%#{params[:keyword]}%")

Dans le cas de ↑, vous pouvez rechercher des données qui incluent des mots-clés dans le titre.

En outre, il existe d'autres moyens de rechercher des données.

where('title LIKE(?)', "a%")
#↑ Rechercher des titres commençant par un
where('title LIKE(?)', "%b")
#↑ Recherche de titres commençant par b
where('title LIKE(?)', "%c%")	
#↑ Recherche de titres commençant par c

Recommended Posts

Implémenter la fonctionnalité de recherche à l'aide de la clause LIKE
Mettre en œuvre la fonctionnalité de gestion des utilisateurs à l'aide de Devise
Implémentez la fonction de recherche de correspondance partielle sans utiliser Ransuck
Essayez de mettre en œuvre à l'aide de l'API de recherche de produits Rakuten (facile)
[Rails] Implémenter la fonction de recherche d'utilisateurs
Fonction de recherche à l'aide de [rails] ransack
Implémenter la fonction de catégorie en utilisant l'ancêtre