Mysql
 sql >> Database >  >> RDS >> Mysql

Mysql ferma parole e abbina

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)