&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;
}}

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS