es-bulk-update-builder
Bulk update request body builder for Elasticsearch
![license](https://img.shields.io/npm/l/es-bulk-update-builder.svg)
![NPM](https://nodei.co/npm/es-bulk-update-builder.png)
Install
$ npm install --save es-bulk-update-builder
Usage
Usage is basically as follows:
const BulkUpdateBuilder = require('es-bulk-update-builder');
const body = new BulkUpdateBuilder()
.index({ name: 'my-doc' }, 'some-index', 'some-type', 'some-id', 3)
.update({ name: 'other-doc' }, 'other-index', 'other-type', 'other-id', 4)
.delete('another-index', 'another-type', 'another-id', 5)
.build();
The index
method is for adding a document, the update
method is for updating a document, and the delete
method is for deleting a document.
For each action you can specify a version number, for example 3
in the following example:
const body = new BulkUpdateBuilder()
.index({ name: 'my-doc' }, 'some-index', 'some-type', 'some-id', 3);
If you do specify a version, the version type is set to external
. You can override that by specifying the desired version type, which in the following example is external_gte
:
const body = new BulkUpdateBuilder()
.index({ name: 'my-doc' }, 'some-index', 'some-type', 'some-id', 3, 'external_gte');
To specify no versioning information, simply omit it:
const body = new BulkUpdateBuilder()
.index({ name: 'my-doc' }, 'some-index', 'some-type', 'some-id');
License
MIT