Module: CommonIndexer

Extended by:
Dry::Configurable
Defined in:
lib/common_indexer.rb,
lib/common_indexer/base.rb,
lib/common_indexer/version.rb

Overview

:nodoc:

Defined Under Namespace

Modules: Base Classes: Error

Constant Summary collapse

VERSION =
'0.3.4'

Class Method Summary collapse

Class Method Details

.clientObject



24
25
26
# File 'lib/common_indexer.rb', line 24

def client
  @client ||= Elasticsearch::Client.new(hosts: config.endpoint)
end

.configure_client(&block) ⇒ Object



28
29
30
# File 'lib/common_indexer.rb', line 28

def configure_client(&block)
  @client = Elasticsearch::Client.new(hosts: config.endpoint, &block)
end

.configure_index!Object



32
33
34
35
36
37
38
# File 'lib/common_indexer.rb', line 32

def configure_index!
  new_index = [index_name, Time.now.utc.strftime('%Y%m%d%H%M%S%3N')].join('_')
  client.indices.create(index: new_index)
  client.indices.put_mapping(index: new_index, type: '_doc', body: { _doc: config.schema })
  reindex_into(new_index) if client.indices.exists(index: index_name)
  client.indices.put_alias(index: new_index, name: index_name)
end