class Mongoid::Elasticsearch::Index
Public Class Methods
new(es)
click to toggle source
# File lib/mongoid/elasticsearch/index.rb, line 4 def initialize(es) @es = es end
Public Instance Methods
create()
click to toggle source
# File lib/mongoid/elasticsearch/index.rb, line 36 def create unless options == {} || exists? force_create end end
delete()
click to toggle source
# File lib/mongoid/elasticsearch/index.rb, line 46 def delete if exists? force_delete end end
exists?()
click to toggle source
# File lib/mongoid/elasticsearch/index.rb, line 32 def exists? indices.exists index: name end
force_create()
click to toggle source
# File lib/mongoid/elasticsearch/index.rb, line 42 def force_create indices.create index: name, body: options end
force_delete()
click to toggle source
# File lib/mongoid/elasticsearch/index.rb, line 52 def force_delete indices.delete index: name end
indices()
click to toggle source
# File lib/mongoid/elasticsearch/index.rb, line 28 def indices @es.client.indices end
klass()
click to toggle source
# File lib/mongoid/elasticsearch/index.rb, line 8 def klass @es.klass end
name()
click to toggle source
# File lib/mongoid/elasticsearch/index.rb, line 12 def name klass.es_index_name end
options()
click to toggle source
# File lib/mongoid/elasticsearch/index.rb, line 24 def options klass.es_index_options end
refresh()
click to toggle source
# File lib/mongoid/elasticsearch/index.rb, line 56 def refresh indices.refresh index: name end
reset()
click to toggle source
# File lib/mongoid/elasticsearch/index.rb, line 60 def reset delete create end
type()
click to toggle source
mapping names should not be specified, it will direclty use the type from here, which will default to document. if specified, mapping name should be document. this was modified to set the type of all documents as “document”, because in newer versions elasticsearch supports only one mapping/type per index.
# File lib/mongoid/elasticsearch/index.rb, line 19 def type "document" #klass.model_name.collection.singularize end