Droonga HTTP Serverは、Droonga Engine用のHTTP Protocol Adapterです。
Droonga Engineはfluentdプロトコルにのみ対応しているため、Droonga Engineとの通信にはfluent-cat
などを使う必要があります。
このアプリケーションは、Droonga EngineとHTTP経由で通信するための機能を提供します。
Droonga HTTP Serverは、Node.js 用のdroonga-http-server npmモジュールとして提供されています。
以下のように、npm
コマンドでインストールすることができます:
# npm install -g droonga-http-server
Droonga HTTP Serverは、HTTPサーバを起動するためのdroonga-http-server
コマンドを含んでいます。
以下のようにコマンドラインオプションを指定して起動できます:
# droonga-http-server --port 3003
指定可能なオプションと既定値は以下の通りです:
--port <13000>
--receive-host-name <127.0.0.1>
--droonga-engine-host-name <127.0.0.1>
--droonga-engine-port <24224>
--default-dataset <Droonga>
--tag <droonga>
--enable-logging
--cache-size <100>
コマンドラインオプションには、組み合わせるDroonga Engineに合わせた値を適切に指定する必要があります。例えば、HTTPサーバが192.168.10.90のコンピュータ上で動作し、Droonga Engineが192.168.10.100のコンピュータ上で以下の設定を伴って動作する時:
fluentd.conf:
<source>
type forward
port 24324
</source>
<match books.message>
name localhost:24224/books
type droonga
</match>
<match output.message>
type stdout
</match>
catalog.json:
{
"version": 2,
"effectiveDate": "2013-09-01T00:00:00Z",
"datasets": {
"Books": {
...
}
}
}
この時、192.168.10.90のコンピュータ上でHTTPサーバを起動する際のコマンドラインオプションは以下のようになります:
# droonga-http-server --receive-host-name 192.168.10.90 \
--droonga-engine-host-name 192.168.10.100 \
--droonga-engine-port 24324 \
--default-dataset Books \
--tag books
基本のチュートリアルも併せて参照して下さい。
Droonga HTTP Serverは以下のAPIを含んでいます:
GET /tables/<テーブル名>
単純な検索リクエストを発行します。
リクエストのsource
は、パス中で指定されたテーブル名となります。
指定できるクエリパラメータは以下の通りです:
attributes
output.attributes
に対応。
値はカンマ区切りのリストです。例:attributes=_key,name,age
.query
condition.*.query
に対応。
値はクエリ文字列です。match_to
condition.*.matchTo
に対応。
値はカンマ区切りのリストです。例:match_to=_key,name
.match_escalation_threshold
condition.*.matchEscalationThreshold
に対応。
値は整数です。script
condition
におけるスクリプト形式の指定に対応。もしquery
と両方同時に指定した場合には、両者のand
条件と見なされます。adjusters
adjusters
に対応します。sort_by
sortBy
に対応します。
値はカラム名の文字列です。limit
output.limit
に対応。
値は整数です。offset
output.offset
に対応。
値は整数です。GET /d/<コマンド名>
(未稿)