Module: ElasticsearchHermes
- Defined in:
- lib/elasticsearch_hermes/hook.rb,
lib/elasticsearch_hermes/index.rb,
lib/elasticsearch_hermes/query.rb,
lib/elasticsearch_hermes/errors.rb,
lib/elasticsearch_hermes/logger.rb,
lib/elasticsearch_hermes/railtie.rb,
lib/elasticsearch_hermes/version.rb,
lib/elasticsearch_hermes/result/base.rb,
lib/elasticsearch_hermes/configuration.rb,
lib/elasticsearch_hermes/elasticsearch_hermes.rb
Defined Under Namespace
Modules: Hook, Query, Result
Classes: Configuration, HermesErrors, Index, Logger, Railtie
Constant Summary
collapse
- VERSION =
'0.0.5'
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.configuration ⇒ Object
10
11
12
|
# File 'lib/elasticsearch_hermes/elasticsearch_hermes.rb', line 10
def self.configuration
@configuration ||= Configuration.new
end
|
Class Method Details
.client ⇒ Object
29
30
31
|
# File 'lib/elasticsearch_hermes/elasticsearch_hermes.rb', line 29
def self.client
@client ||= ::Elasticsearch::Client.new(default_connect_options)
end
|
.connect! ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/elasticsearch_hermes/elasticsearch_hermes.rb', line 38
def self.connect!
return unless client
indices = fields.map { |field| field[:index_name] }.uniq
indices.each do |index|
Logger.log("Checking index #{index}")
index_s = ElasticsearchHermes::Index.new(index)
index_s.create unless index_s.exist?
end
info = @client.info
cluster_version = info['version']['number']
msg = "Connected to Elastic version #{cluster_version}."
Logger.log(msg)
end
|
.default_connect_options ⇒ Object
22
23
24
25
26
27
|
# File 'lib/elasticsearch_hermes/elasticsearch_hermes.rb', line 22
def self.default_connect_options
base_es_urls = configuration.es_url
urls = base_es_urls.split(',').compact.uniq
options = { url: urls, retry_on_failure: 2, log: true }
options
end
|
.fields ⇒ Object
33
34
35
|
# File 'lib/elasticsearch_hermes/elasticsearch_hermes.rb', line 33
def self.fields
configuration.fields
end
|
.refresh ⇒ Object
56
57
58
|
# File 'lib/elasticsearch_hermes/elasticsearch_hermes.rb', line 56
def self.refresh
client.indices.refresh
end
|
.reset ⇒ Object
14
15
16
|
# File 'lib/elasticsearch_hermes/elasticsearch_hermes.rb', line 14
def self.reset
@configuration = Configuration.new
end
|
.setup {|configuration| ... } ⇒ Object
18
19
20
|
# File 'lib/elasticsearch_hermes/elasticsearch_hermes.rb', line 18
def self.setup
yield(configuration)
end
|