UNPKG

es-bulk-update-builder

Version:

Bulk update request body builder for Elasticsearch

61 lines (41 loc) 2.35 kB
# es-bulk-update-builder Bulk update request body builder for Elasticsearch [![npm version](https://badge.fury.io/js/es-bulk-update-builder.svg)](https://badge.fury.io/js/es-bulk-update-builder) [![Codeship Status for stevejay/es-bulk-update-builder](https://app.codeship.com/projects/6cc5dcf0-aa06-0134-4024-3e211d17d664/status?branch=master)](https://app.codeship.com/projects/191800) [![Coverage Status](https://coveralls.io/repos/github/stevejay/es-bulk-update-builder/badge.svg?branch=master)](https://coveralls.io/github/stevejay/es-bulk-update-builder?branch=master) ![license](https://img.shields.io/npm/l/es-bulk-update-builder.svg) [![NPM](https://nodei.co/npm/es-bulk-update-builder.png)](https://nodei.co/npm/es-bulk-update-builder/) ## Install ``` $ npm install --save es-bulk-update-builder ``` ## Usage Usage is basically as follows: ```js 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 body variable can now be passed to the JavaScript elasticsearch client, e.g.: // client.bulk({ body: body }); ``` 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: ```js const body = new BulkUpdateBuilder() .index({ name: 'my-doc' }, 'some-index', 'some-type', 'some-id', 3); ``` If you do specify a version, the [version type](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html#_version_types) is set to `external`. You can override that by specifying the desired version type, which in the following example is `external_gte`: ```js 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: ```js const body = new BulkUpdateBuilder() .index({ name: 'my-doc' }, 'some-index', 'some-type', 'some-id'); ``` ## License [MIT](LICENSE)