groongaやmroongaのnightlyリリースを使うには

> もっとgroongaを知ってもらおう!ということで週刊groongaをはじめました。毎週木曜にgroongaやmroonga、rroongaのトピックを投稿予定です。

いよいよ、[gihyo.jp](http://gihyo.jp/)さんでgroongaの隔週更新連載が始まりました!! 
第6回の記事も公開されたので、一読をおすすめします。

* [「第1回 全文検索エンジンgroongaを紹介します！」](http://gihyo.jp/dev/clip/01/groonga/0001)
* [「第2回 groongaをRuby On Railsでも使ってみた ～chikamap.comの事例から」](http://gihyo.jp/dev/clip/01/groonga/0002)
* [「第3回 すべてのMySQLユーザに高速な全文検索機能を！ - mroongaの紹介」](http://gihyo.jp/dev/clip/01/groonga/0003)
* [「第4回 rroongaを使ったソースコード検索エンジンMilkode」](http://gihyo.jp/dev/clip/01/groonga/0004)
* [「第5回 Rubyでサーバ要らずの高速全文検索！ - rroongaの紹介」](http://gihyo.jp/dev/clip/01/groonga/0005)
* [「第6回 [実録] MySQL向け全文検索エンジン「Tritonn」から「mroonga」への移行ガイド（1）」](http://gihyo.jp/dev/clip/01/groonga/0006)


連載は始まりましたが、利用事例をどんどん紹介していきたいです。(利用事例のストックが尽きたら終了してしまいます。)
groongaやmroonga、rroongaを実際に使っていて利用事例記事を書いてもいいよ、という人をまだまだ募集しています。
詳細は[groonga普及のための協力のお願い](http://sourceforge.jp/projects/groonga/lists/archive/dev/2013-February/001186.html)を参照してください。

# はじめに

オープンソースの[カラムストア機能付き全文検索エンジンgroonga](http://groonga.org/ja/)を公開しています。

最新のバージョンは2013年5月29日にリリースした[3.0.4](http://groonga.org/ja/docs/news.html#release-3-0-4)です。

今回は、groongaやmroongaのnightlyリリースを使う方法を紹介します。

# nightlyリリースの位置付け

[groonga](http://groonga.org/ja)や[groonga-normalizer-mysql](https://github.com/groonga/groonga-normalizer-mysql)や[mroonga](http://mroonga.org/ja)は毎月29日(肉の日)にリリースしています。

毎月リリースしているので、不具合があっても次のリリースでたいてい修正されている状態になっています。(mroongaはMySQLのアップデートがあれば修正パッケージをリリースしていますが、安定版をそのままリビルドしているので、リリース後の修正は反映されていません。)

ただ、すぐに修正版を試したい場合にはGitHubに置いてあるリポジトリをcloneしてビルドするしかこれまで方法がありませんでした。

ソースコードからのビルド方法をドキュメントでも案内していますが、対象がリリース済みのソースアーカイブとなっています。
Gitに慣れていなかったり、Autotoolsに不慣れだと若干敷居が高い状態でした。

そこで、ソースコードのアーカイブをnightlyリリースとして提供することにしました。
毎日日付が変わるタイミングでスナップショットをそのままソースアーカイブとして提供しています。

nightlyリリースのダウンロード先は http://packages.groonga.org/nightly/ です。

例えば、今日は2013年6月20日なので、以下のソースアーカイブが提供されています。

* [groonga-3.0.4.2013.06.20.tar.gz](http://packages.groonga.org/nightly/groonga-3.0.4.2013.06.20.tar.gz)
* [groonga-normalizer-mysql-1.0.4.2013.06.20.tar.gz](http://packages.groonga.org/nightly/groonga-normalizer-mysql-1.0.4.2013.06.20.tar.gz)
* [mroonga-3.04.2013.06.20.tar.gz](http://packages.groonga.org/nightly/mroonga-3.04.2013.06.20.tar.gz)

# nightlyリリースをビルドする

それでは、実際にnightlyリリースをビルドしてみましょう。

まずはMySQLをビルド、インストールします。

```sh
$ cmake -g "Unix Makefiles" . -DBUILD_CONFIG=mysql_release
$ make
$ sudo make install
```

次にgroongaをビルド、インストールします。

```sh
$ wget http://packages.groonga.org/nightly/groonga-3.0.4.2013.06.20.tar.gz
$ tar xf groonga-3.0.4.2013.06.20.tar.gz
$ cd groonga-3.0.4.2013.06.20
$ ./configure --prefix=/tmp/local CFLAGS="-O0 -g3" CXXFLAGS="-O0 -g3"
$ make
$ make install
```

次にgroonga-normalizer-mysqlをビルド、インストールします。

```sh
$ wget http://packages.groonga.org/nightly/groonga-normalizer-mysql-1.0.4.2013.06.20.tar.gz
$ tar xf groonga-normalizer-mysql-1.0.4.2013.06.20.tar.gz
$ cd groonga-normalizer-mysql-1.0.4.2013.06.20
$ ./configure --prefix=/tmp/local CFLAGS="-O0 -g3" CXXFLAGS="-O0 -g3" PKG_CONFIG_PATH=/tmp/local/lib/pkgconfig
$ make
$ make install
```

最後にmroongaをビルド、インストールします。

```sh
$ wget http://packages.groonga.org/nightly/mroonga-3.04.2013.06.20.tar.gz
$ tar xf mroonga-3.04.2013.06.20
$ cd mroonga-3.04.2013.06.20
$ ./configure CFLAGS="-O0 -g3" CXXFLAGS="-O0 -g3" PKG_CONFIG_PATH=/tmp/local/lib/pkgconfig --with-mysql-source=$HOME/work/mysql/mysql-5.5 --with-mysql-config=/usr/local/mysql/bin/mysql_config
$ make
$ sudo make install
```

あとは、mysqldを起動してmysqlクライアントで接続しプラグインのインストール、UDFのインストールまでを行えば``show engines;``でmroongaが使えるようになります。

# まとめ

今回は、groongaやmroongaのnightlyリリースを使う方法を紹介しました。

通常は毎月肉の日にリリースしているパッケージを利用されることをおすすめしますが、どうしてもすぐに修正版が必要だったり、最新版を試したい場合にはnightlyリリースを使うというのも選択肢になりますね。

groongaに興味を持ったなら、まずは[インストール](http://groonga.org/ja/docs/install.html)して試してみてください。

groongaの基本的な動作を知るための[チュートリアル](http://groonga.org/ja/docs/tutorial.html)もあります。インストールしたら試してみてください。