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;
    

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-04-13 (水) 16:46:18