По подразбиране индексите на MySQL FULLTEXT няма да индексират думи, по-къси от 4 знака (за MyISAM таблици). Ако искате да индексирате думи от 3 букви, трябва да зададете ft_min_word_len
системна променлива (или innodb_ft_min_token_size
за InnoDB) до стойност 3 или по-ниска, след което рестартирайте mysqld и изградете отново вашата таблица.
Например, добавете това към [mysqld]
раздел на вашия my.cnf файл:
ft_min_word_len=3
След това рестартирайте mysqld.
След това изпълнете тази команда, за да възстановите таблицата:
alter table `tbladvertstest` force;
Сега вашата заявка трябва да работи:
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)