MySQL+Sennaによる全文検索

講師:住商情報システム/日本MySQLユーザ会 池田徹郎氏

  • 通常のMysqlによる全文検索では遅い
    • WHERE match(col) against('hoge')
    • WHERE col LIKE '%hoge%'
  • MySQLのフルテキストインデックスは、単語が半角区切りでないと一致しない
  • 問題解決の為に、Senna
    • 組込み型でプログラマSennaを意識する必要が無い
    • 色々な検索方法を提供
    • 高速(特に日本語)
  • 仕組
    • フルテキストインデックス作成時、MyISAMのかわりにSennaのインデックスを使うようにする「パッチ」をあてる
    • インデックスキー切り出し方法の種類

今日/は/天気/が/良い/な

      • 「ngram」N=2のN-gram方式~

今日/日は/は天/天気/気が/が良/良い/な

      • 「delimita」半角スペース区切り~

今日は天気が良いな