MySQLの全文検索(fulltext index)のメモ

日本語関連

  • ft_min_word_len(文字数がこの数値以上の単語のみ検索対象に含まれるという設定値)の文字数は、日本語の1文字でも1文字として扱われる。バイト数ではない。
  • なので、ちゃんとエンコーディングが考慮されてるはずで、普通の文字の一部が区切り文字として誤認識される心配もなさそう。(ただし、「、」などは区切り文字として扱われる)

特にさくらインターネットなどのレンタルサーバで、MySQLの設定を変更できない場合の問題点と対処。

  • ft_min_word_lenを設定できない
    • 短い単語の末尾に、「豔」のようなほとんど使われない文字を、単語長がft_min_word_lenになるまで追加する
  • ft_stopword_file(ストップワードリスト)を設定できない
    • デフォルトのストップワードリストに含まれている単語のうち、検索対象にしたい単語の末尾にほとんど使われない文字をつける

というかここにもっとちゃんと書いてあるじゃん
http://www.tatamilab.jp/rnd/archives/000389.html