Skip to content

nroonga/nroonga

Repository files navigation

nroonga

npm version Build Status

nroonga is a library for building groonga powered nodes. You can write your custom full-text search backend on the top of node.js and groonga.

Requirements:

For debian and ubuntu users

If you are using debian or ubuntu, the simplest way to install is to use packages. Install instructions of groonga is available at the groonga website. Follow one of these:

NOTE: You need to install libgroonga-dev package in order to install nroonga.

To install:

After groonga installed, just do

% npm install nroonga

To build and run tests:

% npm install
% npm test

You may need to install a plugin to run the test.

For Ubuntu:

% sudo apt-get install -qq -y groonga-normalizer-mysql groonga-tokenizer-mecab

To run examples:

Super simple test script:

% node examples/test.js

A CLI example (like groonga stand-alone mode):

% coffee examples/prompt.coffee

Examples

const nroonga = require('nroonga');
const db = new nroonga.Database('database');

// Synchronous
console.log(db.commandSync('status'));

// Asynchronous
db.command('status', (error, data) => {
  console.log(data);
});

new nroonga.Database([[path], openOnly])

Open a groonga database.

If [path] is given, create a persistent db. Otherwise, create a temporary db.

If [openOnly] is set to true, do not attempt to create even if open failed. Otherwise, try to create a new database.

database.commandSync(command, [options])

Send command to groonga. Block until results returned.

database.command(command, [options], callback)

Asynchronously send command to groonga. Callback will be given two arguments (error, data).

database.close()

Close database. After close called, any API calls for the database raise an exception.

License

LGPL 2.1 or later. See license/lgpl-2.1.txt. (Yoji Shidara has a right to change the license including contributed patches.)