- テーブルはMyISAMテーブルのみ。
- テーブルに例えばkeywordというカラムを追加し、そこに"今日 日も"というようなセパレータで区切られたテキストを入れておく(このような区切り方をN-gramという)。
- 検索する場合以下のようなSQLで実行する。
select * from t_books where match(keyword) against('+お仕 +仕事') in boolean mode);
- デフォルト設定だと4文字以下の検索後は無視されるのでmy.cnfで以下の設定を行う。
[mysqld]
ft_min_word_len=1
- 変更したあとインデックスのリビルドが必要。
REPAIR TABLE tbl_name QUICK;