Groonga and related projects
Groonga related projects are classified into five category, as follows:
See following sections about actual Groonga related projects and details.
Databases
There are some software used with other database products. You can use extended SQL query.
Groonga + MySQL
Mroonga is a MySQL storage engine built on Groonga. It adds high performance and high accuracy fulltext search feature to MySQL.
Groonga + PostgreSQL
PGroonga is a PostgreSQL extension to use Groonga as the index. You can use fast full text search feature against all languages by installing PGroonga into your PostgreSQL.
Language bindings
There are some language bindings for Groonga. You can use Node.js, Ruby and Perl as language bindings which provides HTTP/API access.
Groonga + Node.js
Nroonga is a Groonga binding for Node.js. Nroonga uses Groonga as a library. It means that fulltext search is done in Node.js process.
Groonga + Ruby
Rroonga is a Ruby bindings for Groonga. Rroonga is a part of The Ranguba project which provides a fulltext search system built on Groonga.
Groonga + Ruby
GrnMini is Rroonga wrapper for using easily.
Groonga + Perl
p5-Groonga is a Perl bindings for Groonga. You can use Groonga as a library in Perl.
Groonga + Perl
Ploonga is a Perl bindings for Groonga. You can use Groonga as a library in Perl.
Groonga + PHP
Proonga is a PHP bindings for Groonga. You can use Groonga as a library in PHP.
Groonga + Haskell
Haroonga is a Haskell bindings for Groonga. You can use both Groonga command layer API and low layer API in Haskell.
Groonga + GObject
Groonga-GObject is a GObject wrapper of Groonga using GObject Introspection. You can use Groonga as a library in some programming languages.
Client libraries
There are some client libraries which provides API to connect to Groonga server in some program languages.
The gqtp described in above picture means "groonga query transfer protocol".
Groonga + Perl
AnyEvent-Groonga is a high performance Groonga client library for Perl. It accesses Groonga server asynchronously.
Groonga + Node.js
node-groonga is a client library of Groonga server for Node.js. Node-groonga uses Groonga as a server. It means that fulltext search is done in Groonga server process not Node.js process.
Groonga + Ruby
Groonga-client is a client library of Groonga server for Ruby. It supports GQTP and HTTP.
Groonga + Ruby
GQTP gem is a GQTP (Groonga Query Transfer Protocol) Ruby implementation. Gqtp gem provides both GQTP client, GQTP server and GQTP proxy implementations. They provide asynchronous API. You can use gqtp gem for high concurrency use.
Groonga + Python
pyroonga is a client library of Groonga server in Python. It supports GQTP.
Groonga + Python
poyonga is a client library of Groonga server in Python. It supports GQTP and HTTP.
Groonga + PHP
groonga-http-php is a clinet library of Groonga server in PHP. It supports HTTP.
Groonga + PHP
php-phroonga is a client library of Groonga server in PHP. It supports HTTP.
Groonga + Erlang
eroonga is a client library of Groonga server. It is implemented by only Erlang. You can connect to Groonga server that uses gqtp.
Groonga + Go
goroo is a client library of Groonga server in Go. It supports HTTP and GQTP.
Groonga + Scala
groonga4s is a client library of Groonga server in Scala. It supports HTTP.
Groonga + Rust
ruroonga_client is a client library of Groonga server implemented with Rust. It supports HTTP.
Sever utilities
There are some libraries which provides convenient API or HTTP functionality (reverse proxy) for Groonga server use.
App-Groonga-Wrapper
App::Groonga::Wrapper is a reverse proxy for local HTTP protocol Groonga server. It adds security mechanism to Groonga server. It is written in Perl.
Sewell
Sewell is a generator for Groonga's query in Ruby. It is useful for both of Groonga server use and Rroonga.
Command line utilities
There are some utilities which improves CLI (command line interface) for Groonga.
grnwrap
grnwrap is a utility that improves Groonga's command line interface.
grnline.fs
grnline.fs resolves character encoding problem which is contained in Groonga command for non UTF-8 environment Windows, such as using cp932 code page. This tool is implemented with .NET. And it supports reading/writing Groonga databases which are created in Linux, Mac, and other Unix like environment.
Grnlip
Grnlip is a CLI for Groonga using Readline. Supports UTF-8 database on Windows. It's written in Ruby and published on RubyGems.org.
Zsh completion functions
zsh_completions are Zsh completion functions by hhato. They includes completion functions for Groonga, groonga-suggest-httpd and groonga-suggest-learner.