■CentOS6系のMySQLで日本語全文検索
CentOS6系のMySQLは5.1になっているため、日本語全文検索用途で5.0系で使ってきたTritonnが使えない。そのため新たにftppc mecabプラグインを導入し代替とする。参考した記事は以下。
http://www.genteel.org/?p=132
http://mironal-memo.blogspot.jp/2012/07/vpscentos-6mecab.html
■以下インストール手順
gccとgcc-c++,mysql-devel必須
[code]# yum install gcc gcc-c++ mysql-devel libicu libicu-devel
# wget http://mecab.googlecode.com/files/mecab-0.994.tar.gz
# wget http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz
# tar zxvf mecab-0.994.tar.gz
# cd mecab-0.994
# ./configure
# make && make install
# ../
# tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz
# cd mecab-ipadic-2.7.0-20070801
# ./configure –with-cherset=utf-8
# make && make install
# ../
# wget http://jaist.dl.sourceforge.net/project/mysqlftppc/mysqlftppc/1.6.1/mysqlftppc-mecab-1.6.1.tar.gz
# cd mysqlftppc-mecab-1.6.1
# ./configure && make && make install[/code]
MySQLへのプラグイン導入
[code]mysql> INSTALL PLUGIN mecab SONAME ‘libftmecab.so.0.0.0’;
mysql> show plugin;
mysql> show status like “mecab_info”;[/code]
導入できたか検索で確認
[code]mysql> use test
mysql> CREATE TABLE me (c TEXT, FULLTEXT(c) WITH PARSER mecab);
mysql> show create table me\G
mysql> INSERT INTO me VALUES(“今日の天気は晴れです。”);
mysql> SELECT * FROM me WHERE MATCH(c) AGAINST(‘+”今日の天気”‘ IN BOOLEAN MODE);
mysql> explain SELECT * FROM me WHERE MATCH(c) AGAINST(‘+”今日の天気”‘ IN BOOLEAN MODE);[/code]
Tritonnで作成したindexをダンプ後編集して取り込む時の修正方法
[code]変更前
USING NGRAM, NORMALIZE, 512 (`body`)
変更後
(`body`) /*!50100 WITH PARSER `mecab` */[/code]
centos, mysql, tritonn
Loading...