CentOS6/ScientificLinux6にmroongaを導入する

■CentOS6/ScientificLinux6にmroongaを導入する
 CentOS6/ScientificLinux6にはmysql5.1.xが導入されていて、日本語全文検索にtritonnが利用できないので、後継プロジェクトになっているmroongaを導入し、日本語全文検索を可能にする。実際の手順はほぼmroongaの公式HPの通り。

 mroonga
 http://mroonga.github.io/ja/

■インストール(mysqlは導入済み)
[code]# rpm -ivh http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm

※ScientificLinux6は以下のbaseurl修正を行う
# vi /etc/yum.repos.d/groonga.repo
baseurl=http://packages.groonga.org/centos/6/$basearch/

# yum makecache
# yum install -y mysql-mroonga groonga-tokenizer-mecab

# mysql -u root -p
mysql> show engines;
mysql> INSTALL PLUGIN mroonga SONAME ‘ha_mroonga.so’;[/code]

■動作確認方法
[code]# mysql -u root -p
mysql> show engines;
mysql> use test;
mysql> create table diaries ( id INT primary key auto_increment, content varchar(255), fulltext index (content) ) engine = mroonga default charset utf8;
mysql> INSERT INTO diaries (content) VALUES (“明日の天気は晴れでしょう。”);
mysql> INSERT INTO diaries (content) VALUES (“明日の天気は雨でしょう。”);
mysql> SELECT * FROM diaries WHERE MATCH(content) AGAINST(“晴れ”);[/code]
検索できればOK。
検索スコアでソートは以下で確認。
[code]mysql> INSERT INTO diaries (content) VALUES (“今日は晴れました。明日も晴れるでしょう。”);
mysql> INSERT INTO diaries (content) VALUES (“今日は晴れましたが、明日は雨でしょう。”);
mysql> SELECT *, MATCH (content) AGAINST (“晴れ”) FROM diaries WHERE MATCH (content) AGAINST (“晴れ”) ORDER BY MATCH (content) AGAINST (“晴れ”) DESC;[/code]

■tritonnデータからの移行
 tritonnでダンプしたデータのうち以下の部分を修正する(ストレージモードで利用)

[code] FULLTEXT KEY `fullindex` (`body`) /*!50100 WITH PARSER `mecab` */
) ENGINE=MyISAM AUTO_INCREMENT=100 DEFAULT CHARSET=utf8;
 ↓
 FULLTEXT INDEX (`body`)
) ENGINE=mroonga AUTO_INCREMENT=100 DEFAULT CHARSET=utf8;[/code]
これで新しいDBへインポートすればOK。

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