Theo mặc định, các chỉ mục MySQL FULLTEXT sẽ không lập chỉ mục các từ dài hơn 4 ký tự (đối với bảng MyISAM). Nếu bạn muốn lập chỉ mục 3 từ ký tự, bạn cần đặt ft_min_word_len
biến hệ thống (hoặc innodb_ft_min_token_size
cho InnoDB) thành giá trị 3 hoặc thấp hơn, sau đó khởi động lại mysqld và xây dựng lại bảng của bạn.
Ví dụ:thêm cái này vào [mysqld]
phần của tệp my.cnf của bạn:
ft_min_word_len=3
Sau đó khởi động lại mysqld.
Sau đó, chạy lệnh này để xây dựng lại bảng:
alter table `tbladvertstest` force;
Bây giờ truy vấn của bạn sẽ hoạt động:
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)