Domyślnie indeksy MySQL FULLTEXT nie indeksują słów krótszych niż 4 znaki (dla tabel MyISAM). Jeśli chcesz indeksować trzyliterowe słowa, musisz ustawić ft_min_word_len
zmienna systemowa (lub innodb_ft_min_token_size
dla InnoDB) do wartości 3 lub niższej, a następnie uruchom ponownie mysqld i przebuduj tabelę.
Na przykład dodaj to do [mysqld]
sekcja twojego pliku my.cnf:
ft_min_word_len=3
Następnie uruchom ponownie mysqld.
Następnie uruchom to polecenie, aby odbudować tabelę:
alter table `tbladvertstest` force;
Teraz Twoje zapytanie powinno działać:
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)