Class: Mongoid::Elasticsearch::Index

Inherits:
Object
  • Object
show all
Defined in:
lib/mongoid/elasticsearch/index.rb

Instance Method Summary collapse

Constructor Details

#initialize(es) ⇒ Index

Returns a new instance of Index.



4
5
6
# File 'lib/mongoid/elasticsearch/index.rb', line 4

def initialize(es)
  @es = es
end

Instance Method Details

#createObject



32
33
34
35
36
# File 'lib/mongoid/elasticsearch/index.rb', line 32

def create
  unless options == {} || exists?
    force_create
  end
end

#deleteObject



42
43
44
45
46
# File 'lib/mongoid/elasticsearch/index.rb', line 42

def delete
  if exists?
    force_delete
  end
end

#exists?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/mongoid/elasticsearch/index.rb', line 28

def exists?
  indices.exists index: name
end

#force_createObject



38
39
40
# File 'lib/mongoid/elasticsearch/index.rb', line 38

def force_create
  indices.create index: name, body: options
end

#force_deleteObject



48
49
50
# File 'lib/mongoid/elasticsearch/index.rb', line 48

def force_delete
  indices.delete index: name
end

#indicesObject



24
25
26
# File 'lib/mongoid/elasticsearch/index.rb', line 24

def indices
  @es.client.indices
end

#klassObject



8
9
10
# File 'lib/mongoid/elasticsearch/index.rb', line 8

def klass
  @es.klass
end

#nameObject



12
13
14
# File 'lib/mongoid/elasticsearch/index.rb', line 12

def name
  klass.es_index_name
end

#optionsObject



20
21
22
# File 'lib/mongoid/elasticsearch/index.rb', line 20

def options
  klass.es_index_options
end

#refreshObject



52
53
54
# File 'lib/mongoid/elasticsearch/index.rb', line 52

def refresh
  indices.refresh index: name
end

#resetObject



56
57
58
59
# File 'lib/mongoid/elasticsearch/index.rb', line 56

def reset
  delete
  create
end

#typeObject



16
17
18
# File 'lib/mongoid/elasticsearch/index.rb', line 16

def type
  klass.es_index_type
end