Method: Elasticsearch::Model::Indexing::ClassMethods#create_index!
- Defined in:
- lib/elasticsearch/model/indexing.rb
permalink #create_index!(options = {}) ⇒ Object
Creates an index with correct name, automatically passing ‘settings` and `mappings` defined in the model
232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 |
# File 'lib/elasticsearch/model/indexing.rb', line 232 def create_index!(={}) = .clone target_index = .delete(:index) || self.index_name settings = .delete(:settings) || self.settings.to_hash mappings = .delete(:mappings) || self.mappings.to_hash delete_index!(.merge index: target_index) if [:force] unless index_exists?(index: target_index) .delete(:force) self.client.indices.create({ index: target_index, body: { settings: settings, mappings: mappings } }.merge()) end end |