Class: EsDumpRestore::App

Inherits:
Thor
  • Object
show all
Defined in:
lib/es_dump_restore/app.rb

Instance Method Summary collapse

Instance Method Details

#dump(url, index_name, filename) ⇒ Object



18
19
20
21
# File 'lib/es_dump_restore/app.rb', line 18

def dump(url, index_name, filename)
  client = EsClient.new(url, index_name, nil)
  _dump(client, filename, options[:preserve_versions])
end

#dump_type(url, index_name, type, filename) ⇒ Object



25
26
27
28
# File 'lib/es_dump_restore/app.rb', line 25

def dump_type(url, index_name, type, filename)
  client = EsClient.new(url, index_name, type)
  _dump(client, filename, options[:preserve_versions])
end

#restore(url, index_name, filename, overrides = nil, batch_size = 1000, exception_retries = 1) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/es_dump_restore/app.rb', line 31

def restore(url, index_name, filename, overrides = nil, batch_size = 1000, exception_retries = 1)
  client = EsClient.new(url, index_name, nil, exception_retries)

  Dumpfile.read(filename) do |dumpfile|
    client.create_index(dumpfile.index, overrides)

    bar = ProgressBar.new(dumpfile.num_objects) if options[:progressbar]
    dumpfile.scan_objects(batch_size.to_i) do |batch, size|
      client.bulk_index batch
      bar.increment!(size) if options[:progressbar]
    end
  end
end

#restore_alias(url, alias_name, index_name, filename, overrides = nil, batch_size = 1000, exception_retries = 1) ⇒ Object



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/es_dump_restore/app.rb', line 46

def restore_alias(url, alias_name, index_name, filename, overrides = nil,
                  batch_size = 1000, exception_retries = 1)
  exception_retries = exception_retries.to_i
  client = EsClient.new(url, index_name, nil, exception_retries)
  client.check_alias alias_name

  Dumpfile.read(filename) do |dumpfile|
    client.create_index(dumpfile.index, overrides)

    bar = ProgressBar.new(dumpfile.num_objects) if options[:progressbar]
    dumpfile.scan_objects(batch_size.to_i) do |batch, size|
      client.bulk_index batch
      bar.increment!(size) if options[:progressbar]
    end
  end

  client.replace_alias_and_close_old_index alias_name
end