express-droonga

1.1.0 • Public • Published

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

Dependencies (20)

Dev Dependencies (6)

Package Sidebar

Install

npm i express-droonga

Weekly Downloads

2

Version

1.1.0

License

MIT

Last publish

Collaborators

  • darashi
  • kenhys
  • kou
  • myokoym
  • piro_or