node package manager


Node.js client for Open Search Server.

Node.js client for OSS

A Node.js client for Open Search Server.

See also parent module oss-odm.

npm install node-oss-client
var oss = require('node-oss-client'),
  client = oss.createClient();'my_index', {
  query: 'my query'
}, function (errres) {
  // ... 

See the examples directory in this repo for more examples.

Create a new client. Available options are

  • hostname
  • port
  • protocol
  • login
  • key
var client = oss.createClient({
  hostname: '',
  port: 8080,
  protocol: 'http'

Search in a custom index, you can specify search type with options.type (field or pattern). Others options are avalaible in OSS Documentation.'my_index', {
  query: 'my_query'
}, function (errres) { });

Request a more like this query on a custom index. Available options can be found in OSS Documentation.

client.moreLikeThis('my_index', {
  likeText: 'Text to search for similarity'
}, function (errres) { });

Create a new index, you can specify a template with options.template.

client.indexes.create('my_index', [options], function (errres) { });

Test if an index exists.

client.indexes.exists('my_index', function (errres) { });

Destroy an existing index.

client.indexes.destroy('my_index', function (errres) { });

Create or update a new field on an existing index. Options are avalaible in OSS Documentation.

Aliases: client.fields.update, client.fields.create.

client.fields.create('my_index', {
  name: 'my_field'
}, function (errres) { });

List all index fields.

client.fields.list('my_index', function (errres) { });

Destroy an existing field on an existing index.

client.fields.destroy('my_index', 'my_field', function (errres) { });

Specify a default and unique index.

client.fields.setUniqueDefault('my_index', { unique: 'my_unique_field', default: 'my_default_field' }, function (errres) { });

Create or update a search template. Options are avalaible in OSS Documentation.

Aliases: client.templates.update, client.templates.create.

client.templates.create('my_index', 'my_template', { returnedFields: ['my_field'] }, function (errres) { });

List all search templates associated to the specified index.

client.templates.list('my_index', function (errres) { });

Get a search template.

client.templates.get('my_index', 'my_template', function (errres) { });

Destroy a search template.

client.templates.destroy('my_index', 'my_template', function (errres) { });

Create or update documents on an existing index. Options are avalaible in OSS Documentation.

Aliases: client.documents.update, client.documents.create.

client.documents.create('my_index', [
    lang: 'FRENCH',
    fields: [
      {name: 'id', value: 1},
      {name: 'content', value: 'Hello world!'}
    lang: 'FRENCH',
    fields: [
      {name: 'id', value: 2},
      {name: 'content', value: 'Hello world 2!'}
], function (errres) { });

Destroy existing documents on an existing index. You must specify a field (options.field) and some values (options.values).

client.documents.destroy('my_index', {
  field: 'id',
  values: [1, 2]
}, function (errres) { });