elasticsearch-scroll
v1.1.1
Published
Get all the results of an elasticsearch search via scan & scroll.
Downloads
26
Readme
elasticsearch-scroll
This helps out when you scan & scroll. This manages the scrolling so that you are returned all of the hits.
Installation
npm install --save elasticsearch-scroll
Usage
If I start with an index foo
with 20 documents of type bar
,
var elasticsearch = require('elasticsearch'),
client = new elasticsearch.Client(),
identity = require('lodash.identity'),
scrollToEnd = require('../index')(client);
client.search({
index: 'foo',
type: 'bar',
scroll: '30s'
})
.then(scrollToEnd(identity, []))
.tap(function (results) {
console.log(results);
});
will yield an array containing all 20 of your documents. Without scrollToEnd
you would just get 10 documents.
API
module(client)
: a function which accepts an [elasticsearch
] client and returns a function,scrollToEnd
.scrollToEnd(mapper, initial, response)
: a curried function which takes amapper
(a function which maps results from elastic search), theinitial
value of the results to return and a response from elasticsearch.
Testing
Run elasticsearch locally and npm test
.