Extending

We decided to make this client low-level, and as such we probably have not implemented all the features you are looking for. For this reason, we made extending or even replacing the core components simple.

Connection

Coming Soon

ConnectionPool

Coming Soon

Client/API

Extending or replacing the API that Elasticsearch.js provides is a simple as it should be in JS. To provide an entirely new API, just add it to the Client constructor’s api property like so:

var myApi = {
  getDog: function () { ... }
};

elasticsearch.Client.apis.mine = myApi;

var client = new elasticsearch.Client({
  apiVersion: 'mine'
});

client.getDog( ... );

When the client is created, it’s prototype is set to the API version selected, and therefore you can access the client via the this variable within your API methods. Make requests within your methods using this.transport.request(params, cb). For more information about the transport, see Transport.