環境
- CentOS 6.5
- Groonga 4.0.5
Groongaの構築
基本的には公式ドキュメントの通りに進めるだけ。
インストール
yumで粛々とインストールします(関係ないけど、groongaって1.3MBしかないんですね)。
$ sudo rpm -ivh http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm
$ sudo yum makecache
$ sudo yum install -y groonga
形態素解析が必要な人はMeCabトークナイザーもインストールします。
$ sudo yum install -y groonga-tokenizer-mecab
MySQL互換のノーマライザーについてもこちらの解説記事を読んで、必要だったら入れます。
$ sudo yum install -y groonga-normalizer-mysql
動作確認
インストールしたgroongaをコマンドとして実行して、動作する事を確認します。
# test.grnデータベースの作成
$ groonga -n /tmp/test.grn
# Siteテーブルの作成
> table_create --name Site --flags TABLE_HASH_KEY --key_type ShortText
[[0,1409878228.05819,0.00194931030273438],true]
# テーブル一覧の確認
> table_list
[[0,1409878240.4172,0.000143289566040039],[[["id","UInt32"],["name","ShortText"],["path","ShortText"],["flags","ShortText"],["domain","ShortText"],["range","ShortText"],["default_tokenizer","ShortText"],["normalizer","ShortText"]],[256,"Site","/tmp/test.grn.0000100","TABLE_HASH_KEY|PERSISTENT","ShortText",null,null,null]]]
> quit
詳しいコマンドは、チュートリアルを参照してください。
ここまでで、groongaそのもののインストールは完了です。
HTTPサーバの立ち上げ
GroongaのHTTPサーバパッケージは2種類ありますが、この手順ではHTTPサーバにはgroonga-httpdを入れます。
2種類の違いはこちらを参照してください。
インストール
yumでgroonga-httpdをインストールします。
ちなみに、groonga-httpdのインストール手順は公式ドキュメントに見つけられなかったので、こちらの記事を参考にしました。
$ sudo yum install -y groonga-httpd
起動
※上記の記事では、起動の前にgroonga-httpd.conf
の修正が入っていますが、デフォルトで実施済みでした。
$ sudo service groonga-httpd restart
# Port:10041でLISTENしている事を確認
$ netstat -lna | grep 10041
tcp 0 0 0.0.0.0:10041 0.0.0.0:* LISTEN
試しにコマンドを投げてみる
正しく起動しているかを確認するために、適当なリクエストを送ってみます。
本来であれば、ブラウザで管理画面を確認するのが一番いいと思いますが、僕の環境はVirtualBoxでPortフォワーディングの設定が面倒くさかったので、ステータス取得APIを叩いています。
$ curl localhost:10041/d/status
[[0,1410164985.37004,7.48634338378906e-05],{"alloc_count":155,"starttime":1410164577,"uptime":408,"version":"4.0.4-214-gb1aaec1","n_queries":0,"cache_hit_rate":0.0,"command_version":1,"default_command_version":1,"max_command_version":2}]
なんらかの値が帰ってくれば、一旦完成です。
サービス登録
CentOSではインスールしただけでは自動起動しないので、サービス登録しておきます
$ sudo chkconfig --add groonga-httpd
$ sudo chkconfig --level 345 groonga-httpd on
これで終わりです。