Mysql
 sql >> Base de données >  >> RDS >> Mysql

Problème de requête MySQL FULLTEXT

Un index de texte intégral n'est pas la bonne approche pour ce que vous essayez de faire. Mais, votre problème spécifique est la longueur minimale du mot, qui est de 3 ou 4 (par défaut), selon la fin. Ceci est expliqué dans la documentation , spécifiquement ici .

Une fois la valeur réinitialisée, vous devrez recréer l'index.

Je soupçonne que vous essayez d'être intelligent. Vous avez probablement entendu le conseil "ne stockez pas de listes de choses dans des chaînes délimitées". Mais vous avez plutôt répliqué "ah, mais je peux utiliser un index de texte intégral". Vous pouvez , même si vous constaterez que les requêtes plus complexes ne s'optimisent pas très bien.

Faites-le correctement. Créer la table d'association user_skills avec une ligne par utilisateur et par compétence que l'utilisateur possède. Vous le trouverez plus facile à utiliser dans les requêtes, pour éviter les doublons, pour optimiser les requêtes, etc.