■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]

, ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...
Trackback

3 comments untill now

  1. CentOS6系のMySQLで日本語全文検索 http://t.co/7XnCJYl0 Tritonnからの移行用記事 #centos #tritonn

  2. CentOS6系のMySQLで日本語全文検索 http://t.co/fzAuEUzG

  3. CentOS6系のMySQLで日本語全文検索 http://t.co/YeWktZw6