&tag(MySQL/全文検索); *目次 [#qb69e784] #contents *関連ページ [#g457a298] *参考情報 [#sbc2f4fb] -[[MySQL FULLTEXT + Ngram : LIKE検索より数十倍高速な、お手軽 日本語全文検索 について|blog|たたみラボ:http://www.tatamilab.jp/rnd/archives/000390.html]] *概要 [#h2eda6cc] -テーブルはMyISAMテーブルのみ。 -テーブルに例えばkeywordというカラムを追加し、そこに"今日 日も"というようなセパレータで区切られたテキストを入れておく(このような区切り方をN-gramという)。 -検索する場合以下のようなSQLで実行する。 select * from t_books where match(keyword) against('+お仕 +仕事') in boolean mode); -デフォルト設定だと4文字以下の検索後は無視されるのでmy.cnfで以下の設定を行う。 #pre{{ [mysqld] ft_min_word_len=1 }} -変更したあとインデックスのリビルドが必要。 -変更したあとサーバーを再起動し(重要)、以下のインデックスのリビルドが必要。 #pre{{ REPAIR TABLE tbl_name QUICK; }}