デフォルトでは、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)