MySQL+Senna/Tritonnについて調べた
検索関連の技術に疎かった&MySQL+Sennaのアーキテクチャをあまり理解してなかったので調べてみた。
MySQLにおける全文検索
http://dev.mysql.com/doc/refman/4.1/ja/fulltext-search.html
バージョン 3.23.23 以降、MySQL ではフルテキストインデックスと全文検索をサポートしています。 MySQL のフルテキストインデックスは FULLTEXT 型のインデックスです。 FULLTEXT インデックスは MyISAM テーブルにのみ使用され、CHAR 型、VARCHAR 型、TEXT 型のいずれかのカラムから作成することができます
FULLTEXT型インデックスは、転置インデックス(キーワードから文書IDと出現位置を引けるインデックス)により実装されている。が....
インデックスタイプ
NGRAMインデックス, 単語インデックス, DELIMITEDインデックスを選択可能である。NGRAMがデフォルト。
NGRAM
N-gramは文書をN文字ずつに切り出した見出し語を元に、転置インデックスを作成する方法(http://gihyo.jp/dev/serial/01/make-findspot/0005)。
USING NGRAMと指定すればNGRAMインデックスになる。
DELIMITEDインデックス
空白で区切られた文字列単位でインデックス作成