Som standard kommer MySQL FULLTEXT-index inte att indexera ord som är kortare än 4 tecken långa (för MyISAM-tabeller). Om du vill indexera ord med 3 bokstäver måste du ställa in ft_min_word_len
systemvariabel (eller innodb_ft_min_token_size
för InnoDB) till ett värde av 3 eller lägre, starta sedan om mysqld och bygg om din tabell.
Till exempel, lägg till detta i [mysqld]
avsnittet i din my.cnf-fil:
ft_min_word_len=3
Starta sedan om mysqld.
Kör sedan det här kommandot för att bygga om tabellen:
alter table `tbladvertstest` force;
Nu bör din fråga fungera:
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)