Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

README

"Droonga" (distributed-groonga) is built with the protocol adapter part named "express-droonga" and the Droonga engine part named "fluent-plugin-droonga". This is "express-droonga".

About express-droonga

express-droonga provides a framework for building scalable realtime Web API services for Express.

Usage

Server

If both express-droonga and droonga engine are running on the same machine, you can initialize the express-droonga instance easily.

var express = require('express'),
    droonga = require('express-droonga');

var application = express();
var server = require('http').createServer(application);
server.listen(80); // the port to communicate with clients

application.droonga({
  prefix: '/droonga',
  tag:    'droonga',
  server: server, // this is required to initialize Socket.IO API!
  extraCommands: [ // optional
    // extra command will be sent to droonga engine via the Socket.IO API, as is.
    'droonga.reindex'
  ]
});

Otherwise, you have to specify pairs of host and port to send messages to the engine and to receive messages from the engine.

application.droonga({
  prefix: '/droonga',
  tag:    'droonga',
  server: server,
  extraCommands: [
    'droonga.reindex'
  ],

  // host and port to send messages to the engine
  hostName: 'backend.droonga.example.org',
  port:     24224,

  // host and port to receive messages from the engine
  receiveHostName: 'express.droonga.example.org',
  receivePort:     10030
});

Client (REST)

Frontend applications can call REST APIs to access resources stored in the droonga. For example:

GET /droonga/tables/entries?query=foobar HTTP/1.1

It works as a search request, and a JSON string will be returned as the result.

Client (Socket.IO)

Frontend applications can call raw APIs via Socket.IO. For example:

var socket = io.connect('http://example.com:80');
socket.on('search.result', function(data) {
  var records = data.body.records;
  ...
});
socket.emit('search', { query: 'foobar' });

In Socket.IO APIs, you'll send requests and receive results separately.

License

The MIT License. See LICENSE for details.

Copyright (c) 2013-2014 Droonga project

About

A framework for building scalable realtime web API services

Resources

License

Languages

You can’t perform that action at this time.