1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
.. -*- rst -*-
GQTP
====
Summary
-------
GQTP is the acronym standing for "Groonga Query Transfer Protocol".
GQTP is a protocol designed for Groonga. It's a stateful
protocol. You can send multiple commands in one session.
GQTP will be faster rather than :doc:`/server/http` when you send many
light commands like :doc:`/reference/commands/status`. GQTP will be
almost same performance as HTTP when you send heavy commands like
:doc:`/reference/commands/select`.
We recommend that you use HTTP for many cases. Because there are many
HTTP client libraries.
If you want to use GQTP, you can use the following libraries:
* Ruby: `groonga-client <https://github.com/ranguba/groonga-client>`_
* Python: `poyonga <https://github.com/hhatto/poyonga>`_
* Go: `goroo <https://github.com/hhatto/goroo>`_
* PHP: `proonga <https://github.com/Yujiro3/proonga>`_
* C/C++: Groonga (Groonga can be also used as library)
It's not a library but you can use
:doc:`/reference/executables/groonga` as a GQTP client.
How to run
----------
:doc:`/reference/executables/groonga` is a GQTP server implementation.
You can run a Groonga server by the following command line::
groonga --protocol gqtp -s [options] DB_PATH
You can run a Groonga server as a daemon by the following command
line::
groonga --protocol gqtp -d [options] DB_PATH
See :doc:`/reference/executables/groonga` for available ``options``.
|