7.2. 出力¶
Groongaは以下の出力形式をサポートしています。
TSV(タブ区切り形式)
JSONがデフォルトの出力形式です。
7.2.1. 使い方¶
Groongaには以下のクエリーインターフェイスがあります。
コマンドライン
HTTP
それぞれのインターフェイスで出力形式を変更する方法は異なります。
7.2.1.1. コマンドライン¶
groonga DB_PATH
または groonga -c
でコマンドラインクエリーインターフェイスを使うことができます。これらのgroongaコマンドでは >
というプロンプトが表示されます。クエリーインターフェイスでは output_type
オプションで出力形式を指定できます。
output_type
オプションを指定しない場合はJSON形式の出力になります:
> status
[[0,1327721628.10738,0.000131845474243164],{"alloc_count":142,"starttime":1327721626,"uptime":2,"version":"1.2.9-92-gb87d9f8","n_queries":0,"cache_hit_rate":0.0,"command_version":1,"default_command_version":1,"max_command_version":2}]
明示的に output_type
に json
を指定することもできます。この場合はJSON形式の出力になります:
> status --output_type json
[[0,1327721639.08321,7.93933868408203e-05],{"alloc_count":144,"starttime":1327721626,"uptime":13,"version":"1.2.9-92-gb87d9f8","n_queries":0,"cache_hit_rate":0.0,"command_version":1,"default_command_version":1,"max_command_version":2}]
XML形式の出力にする場合は output_type
に xml
を指定します:
> status --output_type xml
<?xml version="1.0" encoding="utf-8"?>
<RESULT CODE="0" UP="1327721649.61095" ELAPSED="0.000126361846923828">
<RESULT>
<TEXT>alloc_count</TEXT>
<INT>146</INT>
<TEXT>starttime</TEXT>
<INT>1327721626</INT>
<TEXT>uptime</TEXT>
<INT>23</INT>
<TEXT>version</TEXT>
<TEXT>1.2.9-92-gb87d9f8</TEXT>
<TEXT>n_queries</TEXT>
<INT>0</INT>
<TEXT>cache_hit_rate</TEXT>
<FLOAT>0.0</FLOAT>
<TEXT>command_version</TEXT>
<INT>1</INT>
<TEXT>default_command_version</TEXT>
<INT>1</INT>
<TEXT>max_command_version</TEXT>
<INT>2</INT></RESULT>
</RESULT>
TSV形式の出力にする場合は output_type
に tsv
を指定します:
> status --output_type tsv
0 1327721664.82675 0.000113964080810547
"alloc_count" 146
"starttime" 1327721626
"uptime" 38
"version" "1.2.9-92-gb87d9f8"
"n_queries" 0
"cache_hit_rate" 0.0
"command_version" 1
"default_command_version" 1
"max_command_version" 2
END
MessagePack形式の出力にする場合は output_type
に msgpack
を指定します:
> status --output_type msgpack
(... omitted because MessagePack is binary data format. ...)
7.2.1.2. HTTP¶
groonga --protocol http -s DB_PATH
でHTTPクエリーインターフェイスを使うことができます。groonga HTTPサーバーはデフォルトで10041番ポートで起動します。このクエリーインターフェイスでは拡張子で出力形式を指定します。
拡張子を指定しない場合はJSON形式の出力になります:
% curl http://localhost:10041/d/status
[[0,1327809294.54311,0.00082087516784668],{"alloc_count":155,"starttime":1327809282,"uptime":12,"version":"1.2.9-92-gb87d9f8","n_queries":0,"cache_hit_rate":0.0,"command_version":1,"default_command_version":1,"max_command_version":2}]
明示的に json
拡張子を指定することもできます。この場合はJSON形式の出力になります:
% curl http://localhost:10041/d/status.json
[[0,1327809319.01929,9.5367431640625e-05],{"alloc_count":157,"starttime":1327809282,"uptime":37,"version":"1.2.9-92-gb87d9f8","n_queries":0,"cache_hit_rate":0.0,"command_version":1,"default_command_version":1,"max_command_version":2}]
XML形式の出力にする場合は xml
拡張子を指定します:
% curl http://localhost:10041/d/status.xml
<?xml version="1.0" encoding="utf-8"?>
<RESULT CODE="0" UP="1327809339.5782" ELAPSED="9.56058502197266e-05">
<RESULT>
<TEXT>alloc_count</TEXT>
<INT>159</INT>
<TEXT>starttime</TEXT>
<INT>1327809282</INT>
<TEXT>uptime</TEXT>
<INT>57</INT>
<TEXT>version</TEXT>
<TEXT>1.2.9-92-gb87d9f8</TEXT>
<TEXT>n_queries</TEXT>
<INT>0</INT>
<TEXT>cache_hit_rate</TEXT>
<FLOAT>0.0</FLOAT>
<TEXT>command_version</TEXT>
<INT>1</INT>
<TEXT>default_command_version</TEXT>
<INT>1</INT>
<TEXT>max_command_version</TEXT>
<INT>2</INT></RESULT>
</RESULT>
TSV形式の出力にする場合は tsv
拡張子を指定します:
% curl http://localhost:10041/d/status.tsv
0 1327809366.84187 8.44001770019531e-05
"alloc_count" 159
"starttime" 1327809282
"uptime" 84
"version" "1.2.9-92-gb87d9f8"
"n_queries" 0
"cache_hit_rate" 0.0
"command_version" 1
"default_command_version" 1
"max_command_version" 2
END
MessagePack形式の出力にする場合は msgpack
拡張子を指定します:
% curl http://localhost:10041/d/status.msgpack
(... omitted because MessagePack is binary data format. ...)