ej 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 71050072d6972560642c232f88d3f04c35618496
4
- data.tar.gz: d84942d99527ff336b81029a9d13f5f90971e904
3
+ metadata.gz: f0b332b7857e660bfaf5210b79033873d69d664f
4
+ data.tar.gz: 9692b219550391e6e63a8c52d96ae633e4d13845
5
5
  SHA512:
6
- metadata.gz: dd9a4ab8ddb693fcfe77f10a2bf0146cf74c120d23aba43c428285c6ea1fbe2979edde28ca9cccfc573eb0d27cf6305b85586856a48ae32a84153182cb6aee18
7
- data.tar.gz: bfb96e1a5258d6fa6714259216bfa7ed6f4fb4ad8264a271a2927b28e0a121b786cf343278f7ae5616e1642e846add75faee24b6b229de6518deb0fec15c5714
6
+ metadata.gz: 82f065af8c92d75f3a0e613466e38cc9216dbe4811610762fc852bac1c528ffa71d16f38fdd21ececb79f917203db3562cd3204f03ba7439dea1f9f6d5e77fb4
7
+ data.tar.gz: 85e4ef0bc16bf929609025e84cc0c9725bee86a2efb5eb3a15b8451cc90a383673af6f11fee1665ce78a7103fa9f65ed92bdee7c4d2e99956542779cb735ca6a
data/lib/ej/commands.rb CHANGED
@@ -69,8 +69,16 @@ module Ej
69
69
  option :query, type: :string, aliases: '-q', default: nil, desc: 'query'
70
70
  option :per, type: :numeric, default: nil, desc: 'per'
71
71
  option :proc_num, type: :numeric, default: 1, desc: 'proc num for multi thread'
72
+ option :from, type: :numeric, default: 0, desc: 'from'
72
73
  def copy
73
- @core.copy(options['source'], options['dest'], options['query'], options['per'], options['proc_num'])
74
+ @core.copy(
75
+ options['source'],
76
+ options['dest'],
77
+ options['query'],
78
+ options['per'],
79
+ options['proc_num'],
80
+ options['from']
81
+ )
74
82
  end
75
83
 
76
84
  desc 'dump', 'dump index'
data/lib/ej/core.rb CHANGED
@@ -42,9 +42,8 @@ module Ej
42
42
  @client.search index: @index, type: type, body: body
43
43
  end
44
44
 
45
- def copy(source, dest, query, per_size, proc_num)
45
+ def copy(source, dest, query, per_size, proc_num, define_from = 0)
46
46
  per = per_size || DEFAULT_PER
47
- num = 0
48
47
  logger = Logger.new($stdout)
49
48
  source_client = Elasticsearch::Client.new hosts: source, index: @index
50
49
  dest_client = Elasticsearch::Client.new hosts: dest
@@ -55,6 +54,10 @@ module Ej
55
54
  payloads = ((total/per) + 1).times.to_a
56
55
  Parallel.map(payloads, in_processes: proc_num) do |num|
57
56
  from = num * per
57
+ if from < define_from
58
+ logger.info("skip index (#{num} #{from}-#{from + per})/#{total}")
59
+ next
60
+ end
58
61
  body = { size: per, from: from }
59
62
  body[:query] = { query_string: { query: query } } unless query.nil?
60
63
  data = Hashie::Mash.new(source_client.search index: @index, body: body)
@@ -71,7 +74,7 @@ module Ej
71
74
  end
72
75
  send_with_retry(dest_client, bulk_message)
73
76
 
74
- logger.info("copy complete (#{from}-#{from + docs.size})/#{total}")
77
+ logger.info("copy complete (#{num} #{from}-#{from + docs.size})/#{total}")
75
78
  end
76
79
  end
77
80
 
data/lib/ej/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ej
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ej
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - toyama0919