elasticsearch-scroll-full

1.0.3 • Public • Published

elasticsearch-scroll

Build Status

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 a mapper (a function which maps results from elastic search), the initial value of the results to return and a response from elasticsearch.

Testing

Run elasticsearch locally and npm test.

Package Sidebar

Install

npm i elasticsearch-scroll-full

Weekly Downloads

2

Version

1.0.3

License

MIT

Last publish

Collaborators

  • alex-prytula