Skip to content

Ruby script to copy ElasticSearch index (reindex).

License

Notifications You must be signed in to change notification settings

nara/es-reindex

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

es-reindex - simple ruby script for copying ElasticSearch index

Simple ruby script to copy and reindex ElasticSearch index, copying index settings and mapping(s).

Progress and time estimation is displayed during the scrolling process.

Requirements

Ruby 1.8.6 or newer is required, use rvm for convenience.

Following gems are required via Gemfile:

You can install the requirements locally via bundler:

$ bundle install --path=.bundle

Usage

Refer to script's help:

$ ./es-reindex.rb -h

Script to copy particular ES index including its (re)creation w/options set
and mapping copied.

Usage:

  ./es-reindex.rb [-r] [-f <frame>] [source_url/]<index> [destination_url/]<index>

    - -r - remove the index in the new location first
    - -f - specify frame size to be obtained with one fetch during scrolling
    - -u - update existing documents (default: only create non-existing)
    - optional source/destination urls default to http://127.0.0.1:9200

Changelog

  • 0.0.7: Document header arguments _timestamp and _ttl are copied as well
  • 0.0.6: Document headers in bulks are now assembled and properly JSON dumped
  • 0.0.5: Merge fix for trailing slash in urls (@ichinco), formatting cleanup
  • 0.0.4: Force create only, update is optional (@pgaertig)
  • 0.0.3: Yajl -> Oj
  • 0.0.2: repated document count comparison
  • 0.0.1: first revision

License

es-reindex is copyright (c)2012 Jiri Nemecek, and released under the terms of the MIT license. See the LICENSE file for the gory details.

About

Ruby script to copy ElasticSearch index (reindex).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%