Per impostazione predefinita, gli indici MySQL FULLTEXT non indicizzano le parole con una lunghezza inferiore a 4 caratteri (per le tabelle MyISAM). Se vuoi indicizzare parole di 3 lettere, devi impostare le ft_min_word_len
variabile di sistema (o innodb_ft_min_token_size
>
per InnoDB) a un valore di 3 o inferiore, quindi riavvia mysqld e ricostruisci la tua tabella.
Ad esempio, aggiungilo a [mysqld]
sezione del tuo file my.cnf:
ft_min_word_len=3
Quindi riavvia mysqld.
Quindi esegui questo comando per ricostruire la tabella:
alter table `tbladvertstest` force;
Ora la tua query dovrebbe funzionare:
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)