* Added client helpers
* Updated test
* The search helper should return only the documents
* Added code comments
* Fixed bug
* Updated test
* Removed bulkSize and added flushBytes
* Updated test
* Added concurrency
* Updated test
* Added support for 429 handling in the scroll search helper
* Updated test
* Updated stats count
* Updated test
* Fix test
* Use client maxRetries as default
* Updated type definitions
* Refactored bulk helper to be more consistent with the client api
* Updated test
* Improved error handling, added refreshOnCompletion option and forward additinal options to the bulk api
* Updated type definitions
* Updated test
* Fixed test on Node v8
* Updated test
* Added TODO
* Updated docs
* Added Node v8 note
* Updated scripts
* Removed useless files
* Added helpers to integration test
* Fix cli argument position
* Moar fixes
* Test run elasticsearch in github actions
* Use master action version
* Add vm.max_map_count step
* Test new action setup
* Added Configure sysctl limits step
* Updated action to latest version
* Don't run helpers integration test in jenkins
* Run helpers integratino test also with Node v10
* Updated docs
* Updated docs
* Updated helpers type definitions
* Added test for helpers type definitions
* Added license header
Node.js v6 will go EOL at the end of April 2019, and already two of the production dependencies of the client have already dropped support for it, and soon others will do *(as well as development dependencies)*.
Furthermore, since Node.js will go in EOL it will never get security patches, plus, also OpenSSL-1.0.2 will go EOL [this year](https://github.com/nodejs/Release#release-schedule); to avoid risks for the client users it is better to drop support for Node.js v6 right away.
In very few cases, some API uses the same key for both url and query params, such as the bulk method.
The client is not designed to handle such cases since accepts both url and query keys in the same object, and the url parameter will always take precedence.
This pr fixes this edge case by adding a `querystring` key in the options object.
Fixes: https://github.com/elastic/elasticsearch-js/pull/778
```js
client.bulk({
index: 'index',
type: '_doc',
body: [...]
}, {
querystring: {
type: '_doc'
}
}, console.log)
```