mono-elasticsearch

2.1.4 • Public • Published

Mono ElasticSearch

ElasticSearch module for Mono

npm version Travis Coverage license

Installation

npm install --save mono-elasticsearch

Then, in your configuration file of your Mono application (example: conf/application.js):

module.exports = {
  mono: {
    modules: ['mono-elasticsearch']
  }
}

Configuration

Mono-elasticsearch will use the elasticsearch property of your configuration (example: conf/development.js):

module.exports = {
  mono: {
    elasticsearch: {
      // See https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/configuration.html
      host: 'localhost:9200'
    }
  }
}

Usage

In your modules files, you can access client instance like this:

const { client } = require('mono-elasticsearch')
 
client.ping({
  // ping usually has a 3000ms timeout
  requestTimeout: 1000
}, function (error) {
  if (error) {
    console.trace('elasticsearch cluster is down!');
  } else {
    console.log('All is well');
  }
});

Utils

const { SearchValidation, getSearchOptions } = require('mono-elasticsearch')
  • searchValidation: Object: Joi object used for route validation inside Mono
  • getSearchOptions(req.query): Object: Method to transform req.query into a usable object for elasticsearch find

The last 2 methods are useful to create easily listing routes with pagination restriction, best used in combination with elasticsearch-utils search().

You can see an example of how to use it in test/fixtures/utils/src/utils.routes.js.

Package Sidebar

Install

npm i mono-elasticsearch

Weekly Downloads

3

Version

2.1.4

License

MIT

Unpacked Size

6.28 kB

Total Files

5

Last publish

Collaborators

  • atinux
  • benjamincanac
  • gaetansenn