Tag: MySQL/全文検索
関連ページ†
参考情報†
- テーブルは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;
Last-modified: 2022-04-11 (月) 15:28:00