Groongaでブラウザベースの管理ツールを使うには

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

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

* [「第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)

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

# はじめに

オープンソースの[カラムストア機能付き全文検索エンジンGroonga](http://groonga.org/ja/)を公開しています。
最新のバージョンは2013年3月29日にリリースした[3.0.2](http://groonga.org/ja/docs/news.html#release-3-0-2)です。

今回は、Groongaで[ブラウザベースの管理ツール](http://groonga.org/ja/docs/tutorial/network.html#administration-tool-http)を使う方法について紹介します。

# ブラウザベースの管理ツール

Groongaには、[ブラウザベースの管理ツール](http://groonga.org/ja/docs/tutorial/network.html#administration-tool-http)が付属しています。

> GroongaをHTTPサーバとして起動しているときは、ブラウザベースの管理ツールを使うことにより、データベースを簡単に管理することができます。管理ツールを使いたいときは、ブラウザを使って http://HOST_NAME_OR_IP_ADDRESS[:PORT_NUMBER]/ へとアクセスしてください。管理ツールの使用には、JavaScriptの実行が有効になっている必要があります。

このブラウザベースの管理ツールを使うには、例えばブラウザを起動してから、http://localhost:10041/へとアクセスします。

あらかじめGroongaを起動しておく必要があるので、そのあたりの手間をかけずに簡単に使うには、[サーバーパッケージ](http://groonga.org/ja/docs/server/package.html)をインストールして環境を用意するのがおすすめです。

## サーバーパッケージのインストール

まずは、お使いの環境ごとにGroongaを[インストール](http://groonga.org/ja/docs/install.html)します。

今回は、簡易HTTPサーバー機能を提供する、``groonga-server-http`` を使うことにします。

以下は、Ubuntuでの導入例です。他のディストリビューションをお使いのかたは適宜読み替えて下さい。

```
sudo apt-get install groonga-server-http
```

サーバーパッケージをインストールすると自動的にGroongaがサーバーとして起動します。

例えば、以下のようにしてGroongaが起動していることを確認できます。

```
% ps -ef|grep groonga
groonga   2735     1  0 09:50 ?        00:00:00 /usr/sbin/fcgiwrap
khayashi  8233  3823  0 10:46 pts/5    00:00:00      \_ grep groonga
root      7937     1  0 10:29 ?        00:00:00 /usr/bin/groonga -d --pid-path /var/run/groonga/groonga-http.pid --bind-address 127.0.0.1 --port 10041 --log-path /var/log/groonga/groonga-http.log --query-log-path /var/log/groonga/query-http.log --protocol http /var/lib/groonga/db/db
```

## 管理ツールを使う

それでは、実際に管理ツールを使ってみましょう。

ブラウザを起動し、http://localhost:10041へとアクセスします。

![groonga-admin](http://packages.groonga.org/qiita/qiita-20130418-groonga-admin.png)

* 画面一覧

  * サマリー
  * サジェスト
* テーブル一覧

上記のように画面一覧とテーブル一覧のメニューがあり、画面一覧にはサマリーとサジェストというサブメニューがあります。

まだ、テーブルを作成していないので、テーブル一覧には何もありません。

それでは、テーブル作成から始めてみましょう。
テーブルを作成するには、サマリー画面からテーブル作成タブを選択します。

![groonga-admin-create-table](http://packages.groonga.org/qiita/20130418/create-table.png)

サンプルとして、[チュートリアル](http://groonga.org/ja/docs/tutorial/introduction.html)をやってみましょう。

テーブルのスキーマ定義は、以下の通りです。

```
table_create --name Site --flags TABLE_HASH_KEY --key_type ShortText
```

管理ツールでも同様に指定すると以下のようになります。

![groonga-create-table](http://packages.groonga.org/qiita/20130418/create-site-table.png)

テーブル追加ボタンをクリックすると、テーブルを作成できます。

![site-table](http://packages.groonga.org/qiita/20130418/new-site-table.png)

テーブル一覧にも追加した``Site``テーブルが表示されていますね。

次にカラムの定義を追加しましょう。

カラムの定義は以下の通りです。

```
column_create --table Site --name title --type ShortText
```

管理ツールでも同様に指定すると以下のようになります。

![create-title-column](http://packages.groonga.org/qiita/20130418/create-title-column.png)

作成したカラムはカラム一覧から確認できます。

![column-list](http://packages.groonga.org/qiita/20130418/column-list.png)

あとは、レコード作成画面でデータを登録していきます。

![load-record](http://packages.groonga.org/qiita/20130418/load-record.png)

登録したレコードは、レコード一覧で確認できます。

![record-list](http://packages.groonga.org/qiita/20130418/record-list.png)

では、実際に検索してみましょう。
チュートリアルの検索のクエリは以下の通りでした。これは登録したレコードが1であるレコードを検索します。

```
select --table Site --query _id:1
```

検索クエリ欄に、``_id:1``と入力して、検索ボタンをクリックします。

![query-id-1](http://packages.groonga.org/qiita/20130418/select-query-id-1.png)

きちんと、idが1であるレコードを検索できました。

# まとめ

今回はGroongaでブラウザベースの管理ツールを使う方法を紹介しました。

コマンドラインで作業するほうがたいていの場合効率が良いので、あまり知られていない&詳しく説明していない管理ツールをスクリーンショットつきで紹介してみました。

最初のとっかかりとしてはブラウザから管理ツールを操作するほうがわかりやすいという場合もあると思います。

今回の例としてあげた部分はチュートリアルのほんのさわり部分だけです。まだまだ続きがあります。

Groongaの基本的な動作を知りたいというのであれば、[チュートリアル](http://groonga.org/ja/docs/tutorial.html)の続きを試してみてください。