Elasticsearch is one of the popular NoSQL databases mostly used in search related usecases. I have been using Elasticsearch from the past eight years for various usecases.

While working on projects using Elasticsearch, we need a set of utilities handy to do the following operations.

  • Copy an index from one cluster to another cluster with analyzer and mapping
  • Backup Elasticsearch data to a file
  • Store the results of a query into a file
  • Backup the data to AWS S3
  • Import data from S3 to Elasticsearch
  • Import data from csv file to Elasticsearch
  • Export data from Elasticsearch to Minio
  • Import data from Minio to Elasticsearch

I use an opensource utility to perform all these activities. The utility is ElasticDump. This is very handy and it works really well. We do not have to struggle and create utilities for each of the above activities. I have used this utility with ElasticCloud and self managed installed Elasticsearch clusters. The detailed documentation on how to use this utility is explained in the ElasticDump github page.

To pass the credentials, we just need to use the Elasticsearch URL in the following format.

http://username:password@cluster.es.com:9200/my_index

I hope this utility helps.