実行ファイルは以下の機能を提供します。全文検索シェルGroonga全文検索サーバーのクライアントGroongaはライブラリーとして使えます。Groongaをライブラリーとして使う場合、C、C++などの言語でプログラムを書く必要があります。ライブラリーとして使う使い方はアプリケーションに全文検索機能を組み込む場合に便利です。全文検索サーバーや全文検索シェルほどは使いやすい使い方ではありません。実行ファイルを使うことができます。Groongaを試したいときは全文検索シェルの使い方が便利です。サーバーもクライアントも必要ありません。ターミナルが1つあれば十分です。次のようにしてGroongaを試すことができます。quit%全文検索機能を持ったアプリケーションを作る場合は全文検索サーバーとして使う使い方が便利です。RDBMS(リレーショナル・データベース管理システム)のようにGroongaをサーバーとして使うことができます。クライアント・サーバーモデルはよくあるアーキテクチャーです。Groonga全文検索サーバーのクライアントとして使う使い方はあまり使いません。実行ファイルには以下の4つのモードがあります。スタンドアローンモードサーバーモードデーモンモードクライアントモードこれらのモードは共通のオプションを持ちます。これらの共通のオプションについては後のセクションで説明します。実行ファイルを使うことはできないことに注意してください。新しいデータベースを作成します。level>¶ログレベルを指定します。ログレベルはログレベル名または整数値です。利用可能なログレベルは以下の通りです。追加.サーバモードかデーモンモードで実行するとき、listenするアドレスを指定します。number>¶クライアント、サーバ、またはデーモンモードで使用するTCPポート番号。<ip/hostname>¶サーバモードかデーモンモードで実行するとき、サーバのIDとなるアドレスを指定します。--help¶ヘルプメッセージを出力します。<path>¶httpサーバとしてgroongaを使用する場合に静的ページを格納するディレクトリを指定します。デフォルトでは、データベースを管理するための汎用的なページに対応するファイルが/usr/share/groonga/admin_html以下にインストールされます。このディレクトリをdocument-rootオプションの値に指定して起動した場合、ウェブブラウザでhttp://hostname:port/index.htmlにアクセスすると、ウェブベースのデータベース管理ツールを使用できます。<protocol>¶http,gqtpのいずれかを指定します。<path>¶ログを出力するファイルのパスを指定します。追加.ログフラグを指定します。接頭辞は、フラグを追加します。接頭辞は、フラグを削除します。接頭辞無しは、既存のフラグを置き換えます。フラグを区切ることで、複数のログフラグを指定できます。指定できるフラグは以下の通りです。noneログに何も出力しません。timeタイムスタンプをログに出力します。messageログメッセージをログに出力します。locationプロセスIDとログの出力場所(ファイル名、行数、関数名)をログに出力します。process_idプロセスIDをログに出力します。thread_idスレッドIDををログに出力します。フラグ以外の全てのフラグを指定します。defaultタイムスタンプとログメッセージをログに出力します。追加.ログローテーションの閾値を指定します。ログファイルのサイズが閾値に指定した値以上になると、ローテートされます。<path>¶クエリーログを出力するファイルのパスを指定します。追加.クエリーログのローテーションの閾値を指定します。クエリーログファイルのサイズが閾値に指定した値以上になると、ローテートされます。最大で利用するスレッド数を指定します。<path>¶PIDを保存するパスを指定します。設定ファイルのパスを指定します。設定ファイルは以下のようなフォーマットになります。'#'以降はコメント。';'以降もコメント。値'でオプションを指定。'='の前後の空白はは無視される。'キー'は'--XXX'スタイルのオプション名と同じものが使える。'--pid-path'に対応するキーは'pid-path'。キーが'config-path'のオプションは無視される。<limit>¶キャッシュ数の最大値を指定します。検索の挙動をエスカレーションする閾値を指定します。<timeout>¶デフォルトのリクエストタイムアウトを指定します。ように小数で指定することで1秒未満のタイムアウトを設定できます。100ミリ秒のタイムアウトという意味です。未満の値を指定するとデフォルトでリクエストタイムアウトは無効になります。追加.キャッシュの保存先のベースとなるパスを指定します。これを指定すると永続キャッシュ機能が有効になります。永続キャッシュ機能を使うと次のメリットがあります。プロセスが再起動した後もキャッシュを再利用できます。再起動する毎にキャッシュをウォームアップする必要はありません。プロセス間でキャッシュを共有できます。このベースとなるパスはメモリーファイルシステム上のパスを指定するべきです。ディスク上にベースとなるパスを指定するとキャッシュが遅くなります。これでは意味がありません。デフォルト値はありません。これは永続キャッシュは無効だということです。代わりにメモリーキャッシュが使われます。永続キャッシュはメモリーキャッシュよりも少し遅いです。通常、この差によるパフォーマンスの影響は軽微です。使用するデータベースのパス名を指定します。クライアントモードの場合は接続先のホスト名とポート番号を指定します(デフォルト値は'localhost:10043')。ポート番号を指定しない場合には、10043が指定されたものとします。[args]¶スタンドアロンおよびクライアントモードの場合は、実行するコマンドとその引数をコマンドライン引数に指定できます。コマンドライン引数にcommandを与えなかった場合は、標準入力から一行ずつEOFに達するまでコマンド文字列を読み取り、順次実行します。コマンド¶groongaコマンドを通してデータベースを操作する命令をコマンドと呼びます。コマンドは主にC言語で記述され、groongaプロセスにロードすることによって使用できるようになります。それぞれのコマンドは一意な名前と、0個以上の引数を持ちます。引数は以下の2種類の方法のいずれかで指定することができます。値2,..形式1でコマンドを実行する場合は、定義された順番で値を指定しなければならず、途中の引数の値を省略することはできません。形式2でコマンドを実行する場合は、「--引数名」のように引数の名前を明示しなければならない代わりに、任意の順番で引数を指定することが可能で、途中の引数の指定を省略することもできます。空白や、記号「"'()」のうちいずれかを含む値を指定したい場合は、シングルクォート(')かダブルクォート(")で値を囲みます。値として指定する文字列の中では、改行文字は'n'に置き換えて指定します。バックスラッシュ文字自身を値として指定する場合には、その前にバックスラッシュを指定します。'\'文字で継続行であることを明示してコマンドリストを記述することができます。以下のコマンドは組み込みコマンドとして予め定義されています。statusgroongaプロセスの状態を表示します。table_listDBに定義されているテーブルのリストを表示します。column_listテーブルに定義されているカラムのリストを表示します。table_createDBにテーブルを追加します。column_createテーブルにカラムを追加します。table_removeDBに定義されているテーブルを削除します。column_removeテーブルに定義されているカラムを削除します。loadテーブルにレコードを挿入します。selectテーブルに含まれるレコードを検索して表示します。define_selector検索条件をカスタマイズした新たな検索コマンドを定義します。quitデータベースとのセッションを終了します。shutdownサーバ(デーモン)プロセスを停止します。log_levelログ出力レベルを設定します。log_putログ出力を行います。clearlockロックを解除します。新しいデータベースを作成します。quit%作成済みのデータベースにテーブルを定義します。ShortText[[0]]%サーバを起動します。/tmp/hoge.db%httpサーバとして起動します。/tmp/hoge.db%サーバに接続し、テーブル一覧を表示します。