読者です 読者をやめる 読者になる 読者になる

Debuginfo

思考とアウトプット

mroongaのインストール

全文検索したいので探していたらmysql全文検索できるmroongaというのを発見。使ってみようと思います。Namazuが懐かしい。

http://mroonga.github.com/ja/docs/install.htmlを参考にするも途中でエラー

# yum install  mysql-mroonga
...
Error: Package: mysql-mroonga-2.10-1.el6.x86_64 (groonga)
Requires: mysql = 5.1.66-2.el6_3
Installed: mysql-5.1.67-1.el6_3.x86_64 (@updates)

どうやらmysqlのバージョンがあってないみたい。特にこのバージョンに強い思いはないのでダウングレード。そしたら、mysql-mroonga入りました^^

# yum downgrade mysql*-5.1.66-2.el6_3.x86_64
# yum install  mysql-mroonga

mecabを入れる。

# yum install -y groonga-tokenizer-mecab

インストールできたか確認する。私の環境では入っていなかったのでマニュアルどおり、INSTALL PLUGINを実行。

# mysql -uroot test -p
mysql> show engines;
mysql> INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so';

どうやら2つのモードがあるらしい。ラッパーモードを使ってみる。 んで、例の通りにテストしてみる。 http://mroonga.github.com/ja/docs/userguide/wrapper.html

mysql>  CREATE TABLE diaries (
 -> id INT PRIMARY KEY AUTO_INCREMENT,
 -> content VARCHAR(255),
 -> FULLTEXT INDEX (content)
    -> ) ENGINE = mroonga COMMENT = 'engine "innodb"' DEFAULT CHARSET utf8;
Query OK, 0 rows affected (0.04 sec)

mysql>  INSERT INTO diaries (content) VALUES ("明日の天気は晴れでしょう。");
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO diaries (content) VALUES ("明日の天気は雨でしょう。");
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM diaries WHERE MATCH(content) AGAINST("晴れ");
+----+-----------------------------------------+
| id | content                                 |
+----+-----------------------------------------+
|  1 | 明日の天気は晴れでしょう。 |
+----+-----------------------------------------+
1 row in set (0.01 sec)

mysql> drop table diaries;