yutadayo's diary

yutadayo の日記

FULLTEXTインデックス

今日MTGMysqlのFULLTEXTインデックスなるものが
議題にあったのでググってみると

FULLTEXTとは、v3.23.23以降のMySQLに標準搭載されている全文検索インデックスのこと。

とのこと。
なるほど、そんな便利な機能があったのか。

実装は
FULLTEXTインデックスを張っておき、

sql> alter table hoge add fulltext( myText );
sql> insert into hoge(myText) values('I love lucy.');

それを専用の MATCH ...
AGAINST 構文を用いたSELECT句で検索する事により、マッチ率の高い順 (近似値順) にソートされたレコードセットを取得 することができる仕組み。つまり、MySQL単体で完結する全文検索の仕組み。

sql> select * from hoge where match( myText )
against('lucy love');

→ lucy と love が含まれるレコード群が、良い感じに順位付けされて返って来る

便利〜

参考:http://www.tatamilab.jp/rnd/archives/000389.html
   http://itpro.nikkeibp.co.jp/article/COLUMN/20060111/227105/