@@ -175,15 +175,21 @@ def settings(settings={}, &block)
175
175
#
176
176
# Article.__elasticsearch__.create_index! force: true
177
177
#
178
+ # @example Pass a specific index name
179
+ #
180
+ # Article.__elasticsearch__.create_index! index: 'my-index'
181
+ #
178
182
def create_index! ( options = { } )
179
- delete_index! ( options ) if options [ :force ]
183
+ target_index = options . delete ( :index ) || self . index_name
184
+
185
+ delete_index! ( options . merge index : target_index ) if options [ :force ]
180
186
181
- unless ( self . client . indices . exists ( index : self . index_name ) rescue false )
187
+ unless ( self . client . indices . exists ( index : target_index ) rescue false )
182
188
begin
183
- self . client . indices . create index : self . index_name ,
184
- body : {
185
- settings : self . settings . to_hash ,
186
- mappings : self . mappings . to_hash }
189
+ self . client . indices . create index : target_index ,
190
+ body : {
191
+ settings : self . settings . to_hash ,
192
+ mappings : self . mappings . to_hash }
187
193
rescue Exception => e
188
194
unless e . class . to_s =~ /NotFound/ && options [ :force ]
189
195
STDERR . puts "[!!!] Error when creating the index: #{ e . class } " , "#{ e . message } "
@@ -199,9 +205,15 @@ def create_index!(options={})
199
205
#
200
206
# Article.__elasticsearch__.delete_index!
201
207
#
208
+ # @example Pass a specific index name
209
+ #
210
+ # Article.__elasticsearch__.delete_index! index: 'my-index'
211
+ #
202
212
def delete_index! ( options = { } )
213
+ target_index = options . delete ( :index ) || self . index_name
214
+
203
215
begin
204
- self . client . indices . delete index : self . index_name
216
+ self . client . indices . delete index : target_index
205
217
rescue Exception => e
206
218
unless e . class . to_s =~ /NotFound/ && options [ :force ]
207
219
STDERR . puts "[!!!] Error when deleting the index: #{ e . class } " , "#{ e . message } "
@@ -215,11 +227,17 @@ def delete_index!(options={})
215
227
#
216
228
# Article.__elasticsearch__.refresh_index!
217
229
#
230
+ # @example Pass a specific index name
231
+ #
232
+ # Article.__elasticsearch__.refresh_index! index: 'my-index'
233
+ #
218
234
# @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-refresh.html
219
235
#
220
236
def refresh_index! ( options = { } )
237
+ target_index = options . delete ( :index ) || self . index_name
238
+
221
239
begin
222
- self . client . indices . refresh index : self . index_name
240
+ self . client . indices . refresh index : target_index
223
241
rescue Exception => e
224
242
unless e . class . to_s =~ /NotFound/ && options [ :force ]
225
243
STDERR . puts "[!!!] Error when refreshing the index: #{ e . class } " , "#{ e . message } "
0 commit comments