こんにちは。しだらようじです。
nroonga (ぬるんが) をリリースしましたので紹介させてください。
http://nroonga.github.com/
nroonga は、 groonga の node.js 用バインディングです。
libgroonga の クエリAPI をバインドしており、
node.js で groonga を用いた検索用バックエンドを構築する際に活用できます。
nroonga は以下のようにして利用できます。
var nroonga = require('nroonga');
var db = new nroonga.Database('database');
// Synchronous
console.log(db.commandSync('status'));
// Asynchronous
db.command('status', function(error, data) {
console.log(data);
});
groonga コマンドにも http サーバ機能が搭載されています。
しかし、やや複雑なユースケースにおいては、
groonga をアプリケーションに特化する形でラップした
検索 API バックエンドサーバを構築することがしばしばあるかと思います。
そのような場合に nroonga を用いると、node.js のパワーを活用できます。
(一般的な http はもちろん、WebSocket や AMQP、Redis の pubsub なども)
利用例:
* buzztter.com
nroonga は現在私が運用している
http://buzztter.com
の検索バックエンドでも利用しています。
検索バックエンドは、検索機能や時系列の言及数推移を与える内部的なAPIを
Webフロントエンドに向けて提供します。
* nroonga-httpd
nroonga-httpd は、groonga コマンドの httpサーバ機能(の一部)を
nroonga を用いて実現するプロジェクトです。
https://github.com/nroonga/nroonga-httpd
nroonga の利用例としてもご覧いただけると思います。
なお、 nroonga を利用するためには
MessagePack を有効にした groonga (>= 1.3.0) が必要です。
以上、どうぞよろしくお願いします。