Skip to content

Run any version of ElasticSearch locally

License

Notifications You must be signed in to change notification settings

shelfio/elasticsearch-local

Repository files navigation

elasticsearch-local CircleCI npm (scoped)

Run any version of ElasticSearch locally

Usage

0. Install

$ yarn add @shelf/elasticsearch-local --dev

1. Start Elasticsearch

import {start} from '@shelf/elasticsearch-local';

await start({
  esVersion: '8.2.2',
  port: 9000, // optional
  clusterName: 'test', // optional
  nodeName: 'test', // optional
  indexes: [
    {
      name: 'your-index',
      // create index with options - https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html#indices-create-api-request-body
      body: {
        settings: {
          number_of_shards: '1',
          number_of_replicas: '1'
        },
        aliases: {
          'some-acc-id': {}
        },
        mappings: {
          "properties": {
            "field1" : {"type" : "text"}
        }
      }
    }
  ] // optional
});

2. Stop Elasticsearch

import {stop} from '@shelf/elasticsearch-local';

stop();

Publish

$ git checkout master
$ yarn version
$ yarn publish
$ git push origin master --tags

License

MIT © Shelf