elastic-deletebyquery
Install via NPM
npm install elastic-deletebyquery
Usage
You need to require the module. Then call the method and pass the client on the parameter.
Then it is just a SCROLL, so you can pass the options of the scroll the only option by default is the scroll = 30s.
If you leave empty the query, you are going to delete all the documents on the type
var elasticsearch = elasticDeleteQuery = ; var client = host: 'localhost:9200'; ; var options = index: 'index' type: 'type' //This will delete allclient; var options = index: 'index' type: 'type' body: query: term: _id: 1 //This will delete only the document with the id = 1client
Batch Implementation
I implemented a "size" in the query that will automatically segment the query (default 100), so if you have 100.000 elements to delete, it is going to delete a batch of X elements (size defined) and then, do a scroll again. You can pass the size on the options. This was done, because if you send a bulk of 100.000 elements or more, depending on your System Specification may cause a Memory exception.
ES Documentation
If you want to see the parameters that scroll supports, just visit the elasticsearch documentation