Par défaut, les index MySQL FULLTEXT n'indexeront pas les mots de moins de 4 caractères (pour les tables MyISAM). Si vous souhaitez indexer des mots de 3 lettres, vous devez définir les ft_min_word_len
variable système (ou innodb_ft_min_token_size
pour InnoDB) à une valeur de 3 ou moins, puis redémarrez mysqld et reconstruisez votre table.
Par exemple, ajoutez ceci au [mysqld]
section de votre fichier my.cnf :
ft_min_word_len=3
Redémarrez ensuite mysqld.
Exécutez ensuite cette commande pour reconstruire la table :
alter table `tbladvertstest` force;
Votre requête devrait maintenant fonctionner :
mysql > SELECT *
-> FROM `tbladvertstest`
-> WHERE MATCH (`SearchCompany`) AGAINST ('+"All Bar One"' IN BOOLEAN MODE) ;
+----+---------------+
| id | SearchCompany |
+----+---------------+
| 1 | All Bar One |
+----+---------------+
1 row in set (0.00 sec)