1:- module(indices, [
2 analyze/4, 3 analyze/5, 4 refresh/3, 5 refresh/4, 6 flush/3, 7 flush/4, 8 create/4, 9 create/5, 10 get/4, 11 get/5, 12 open_index/3, 13 open_index/4, 14 close_index/3, 15 close_index/4, 16 delete/3, 17 delete/4, 18 exists/2, 19 exists/3, 20 put_mapping/5, 21 put_mapping/6, 22 get_mapping/4, 23 get_mapping/5, 24 get_field_mapping/5, 25 get_field_mapping/6, 26 delete_mapping/4, 27 delete_mapping/5, 28 put_alias/5, 29 put_alias/6, 30 exists_alias/3, 31 exists_alias/4, 32 get_alias/4, 33 get_alias/5, 34 get_aliases/4, 35 get_aliases/5, 36 update_aliases/3, 37 update_aliases/4, 38 delete_alias/4, 39 delete_alias/5, 40 put_template/4, 41 put_template/5, 42 exists_template/2, 43 exists_template/3, 44 get_template/3, 45 get_template/4, 46 delete_template/3, 47 delete_template/4, 48 get_settings/4, 49 get_settings/5, 50 put_settings/4, 51 put_settings/5, 52 put_warmer/6, 53 put_warmer/7, 54 get_warmer/5, 55 get_warmer/6, 56 delete_warmer/4, 57 delete_warmer/5, 58 status/3, 59 status/4, 60 stats/4, 61 stats/5, 62 segments/3, 63 segments/4, 64 optimize/3, 65 optimize/4, 66 validate_query/5, 67 validate_query/6, 68 clear_cache/3, 69 clear_cache/4, 70 recovery/3, 71 recovery/4, 72 snapshot_index/3, 73 snapshot_index/4, 74 upgrade/3, 75 upgrade/4, 76 get_upgrade/3, 77 get_upgrade/4 78]).
89:- use_module(transport). 90:- use_module(util).
98analyze(Ps, Index, Body, Reply) :-
99 analyze(Ps, Index, _{}, Body, Reply).
100
101analyze(Ps, Index, Params, Body, Reply) :-
102 make_context([Index, '_analyze'], Context),
103 perform_request(Ps, get, Context, Params, Body, _, Reply).
112refresh(Ps, Index, Reply) :-
113 refresh(Ps, Index, _{}, Reply).
114
115refresh(Ps, Index, Params, Reply) :-
116 make_context([Index, '_refresh'], Context),
117 perform_request(Ps, post, Context, Params, '', _, Reply).
125flush(Ps, Index, Reply) :-
126 flush(Ps, Index, _{}, Reply).
127
128flush(Ps, Index, Params, Reply) :-
129 make_context([Index, '_flush'], Context),
130 perform_request(Ps, post, Context, Params, '', _, Reply).
138create(Ps, Index, Body, Reply) :-
139 create(Ps, Index, _{}, Body, Reply).
140
141create(Ps, Index, Params, Body, Reply) :-
142 non_empty(Index, index),
143 make_context(Index, Context),
144 perform_request(Ps, post, Context, Params, Body, _, Reply).
152get(Ps, Index, Feature, Reply) :-
153 get(Ps, Index, Feature, _{}, Reply).
154
155get(Ps, Index, Feature, Params, Reply) :-
156 non_empty(Index, index),
157 make_context([Index, Feature], Context),
158 perform_request(Ps, get, Context, Params, _, Reply).
166open_index(Ps, Index, Reply) :-
167 open_index(Ps, Index, _{}, Reply).
168
169open_index(Ps, Index, Params, Reply) :-
170 non_empty(Index, index),
171 make_context([Index, '_open'], Context),
172 perform_request(Ps, post, Context, Params, '', _, Reply).
181close_index(Ps, Index, Reply) :-
182 close_index(Ps, Index, _{}, Reply).
183
184close_index(Ps, Index, Params, Reply) :-
185 non_empty(Index, index),
186 make_context([Index, '_close'], Context),
187 perform_request(Ps, post, Context, Params, '', _, Reply).
195delete(Ps, Index, Reply) :-
196 delete(Ps, Index, _{}, Reply).
197
198delete(Ps, Index, Params, Reply) :-
199 non_empty(Index, index),
200 make_context(Index, Context),
201 perform_request(Ps, delete, Context, Params, _, Reply).
209exists(Ps, Index) :-
210 exists(Ps, Index, _{}).
211
212exists(Ps, Index, Params) :-
213 non_empty(Index, index),
214 make_context(Index, Context),
215 ( catch(perform_request(Ps, head, Context, Params, _, _), E, true)
216 -> ( var(E)
217 -> true
218 ; E = plasticsearch_exception(404, _)
219 )
220 ).
228put_mapping(Ps, Index, DocType, Body, Reply) :-
229 put_mapping(Ps, Index, DocType, _{}, Body, Reply).
230
231put_mapping(Ps, Index, DocType, Params, Body, Reply) :-
232 forall(member(Value-Name, [DocType-doc_type, Body-body]), non_empty(Value, Name)),
233 make_context([Index, '_mapping', DocType], Context),
234 perform_request(Ps, put, Context, Params, Body, _, Reply).
242get_mapping(Ps, Index, DocType, Reply) :-
243 get_mapping(Ps, Index, DocType, _{}, Reply).
244
245get_mapping(Ps, Index, DocType, Params, Reply) :-
246 make_context([Index, '_mapping', DocType], Context),
247 perform_request(Ps, get, Context, Params, _, Reply).
255get_field_mapping(Ps, Index, DocType, Field, Reply) :-
256 get_field_mapping(Ps, Index, DocType, Field, _{}, Reply).
257
258get_field_mapping(Ps, Index, DocType, Field, Params, Reply) :-
259 non_empty(Field, field),
260 make_context([Index, '_mapping', DocType, field, Field], Context),
261 perform_request(Ps, get, Context, Params, _, Reply).
269delete_mapping(Ps, Index, DocType, Reply) :-
270 delete_mapping(Ps, Index, DocType, _{}, Reply).
271
272delete_mapping(Ps, Index, DocType, Params, Reply) :-
273 forall(member(Value-Name, [Index-index, DocType-doc_type]), non_empty(Value, Name)),
274 make_context([Index, '_mapping', DocType], Context),
275 perform_request(Ps, delete, Context, Params, _, Reply).
283put_alias(Ps, Index, Alias, Body, Reply) :-
284 put_alias(Ps, Index, Alias, _{}, Body, Reply).
285
286put_alias(Ps, Index, Alias, Params, Body, Reply) :-
287 forall(member(Value-Name, [Index-index, Alias-alias]), non_empty(Value, Name)),
288 make_context([Index, '_alias', Alias], Context),
289 perform_request(Ps, put, Context, Params, Body, _, Reply).
297exists_alias(Ps, Index, Alias) :-
298 exists_alias(Ps, Index, Alias, _{}).
299
300exists_alias(Ps, Index, Alias, Params) :-
301 make_context([Index, '_alias', Alias], Context),
302 ( catch(perform_request(Ps, head, Context, Params, _, _), E, true)
303 -> ( var(E)
304 -> true
305 ; E = plasticsearch_exception(404, _)
306 )
307 ).
315get_alias(Ps, Index, Alias, Reply) :-
316 get_alias(Ps, Index, Alias, _{}, Reply).
317
318get_alias(Ps, Index, Alias, Params, Reply) :-
319 make_context([Index, '_alias', Alias], Context),
320 perform_request(Ps, get, Context, Params, _, Reply).
328get_aliases(Ps, Index, Aliases, Reply) :-
329 get_aliases(Ps, Index, Aliases, _{}, Reply).
330
331get_aliases(Ps, Index, Aliases, Params, Reply) :-
332 make_context([Index, '_aliases', Aliases], Context),
333 perform_request(Ps, get, Context, Params, _, Reply).
341update_aliases(Ps, Body, Reply) :-
342 update_aliases(Ps, _{}, Body, Reply).
343
344update_aliases(Ps, Params, Body, Reply) :-
345 non_empty(Body, body),
346 perform_request(Ps, post, '/_aliases', Params, Body, _, Reply).
354delete_alias(Ps, Index, Alias, Reply) :-
355 delete_alias(Ps, Index, Alias, _{}, Reply).
356
357delete_alias(Ps, Index, Alias, Params, Reply) :-
358 forall(member(Value-Name, [Index-index, Alias-alias]), non_empty(Value, Name)),
359 make_context([Index, '_alias', Alias], Context),
360 perform_request(Ps, delete, Context, Params, _, Reply).
369put_template(Ps, Name, Body, Reply) :-
370 put_template(Ps, Name, _{}, Body, Reply).
371
372put_template(Ps, Name, Params, Body, Reply) :-
373 forall(member(Value-Name, [Name-name, Body-body]), non_empty(Value, Name)),
374 make_context(['_template', Name], Context),
375 perform_request(Ps, put, Context, Params, Body, _, Reply).
383exists_template(Ps, Name) :-
384 exists_template(Ps, Name, _{}).
385
386exists_template(Ps, Name, Params) :-
387 non_empty(Name, name),
388 make_context(['_template', Name], Context),
389 ( catch(perform_request(Ps, head, Context, Params, _, _), E, true)
390 -> ( var(E)
391 -> true
392 ; E = plasticsearch_exception(404, _)
393 )
394 ).
402get_template(Ps, Name, Reply) :-
403 get_template(Ps, Name, _{}, Reply).
404
405get_template(Ps, Name, Params, Reply) :-
406 make_context(['_template', Name], Context),
407 perform_request(Ps, get, Context, Params, _, Reply).
415delete_template(Ps, Name, Reply) :-
416 delete_template(Ps, Name, _{}, Reply).
417
418delete_template(Ps, Name, Params, Reply) :-
419 non_empty(Name, name),
420 make_context(['_template', Name], Context),
421 perform_request(Ps, delete, Context, Params, _, Reply).
429get_settings(Ps, Index, Name, Reply) :-
430 get_settings(Ps, Index, Name, _{}, Reply).
431
432get_settings(Ps, Index, Name, Params, Reply) :-
433 make_context([Index, '_settings', Name], Context),
434 perform_request(Ps, get, Context, Params, _, Reply).
442put_settings(Ps, Index, Body, Reply) :-
443 put_settings(Ps, Index, _{}, Body, Reply).
444
445put_settings(Ps, Index, Params, Body, Reply) :-
446 non_empty(Body, body),
447 make_context([Index, '_settings'], Context),
448 perform_request(Ps, put, Context, Params, Body, _, Reply).
457put_warmer(Ps, Index, DocType, Name, Body, Reply) :-
458 put_warmer(Ps, Index, DocType, Name, _{}, Body, Reply).
459
460put_warmer(Ps, Index, DocType, Name, Params, Body, Reply) :-
461 forall(member(Value-Name, [Name-name, Body-body]), non_empty(Value, Name)),
462 ( Index = '', DocType \= ''
463 -> Index1 = '_all'
464 ; Index1 = Index
465 ),
466 make_context([Index1, DocType, '_warmer', Name], Context),
467 perform_request(Ps, put, Context, Params, Body, _, Reply).
475get_warmer(Ps, Index, DocType, Name, Reply) :-
476 get_warmer(Ps, Index, DocType, Name, _{}, Reply).
477
478get_warmer(Ps, Index, DocType, Name, Params, Reply) :-
479 make_context([Index, DocType, '_warmer', Name], Context),
480 perform_request(Ps, get, Context, Params, _, Reply).
488delete_warmer(Ps, Index, Name, Reply) :-
489 delete_warmer(Ps, Index, Name, _{}, Reply).
490
491delete_warmer(Ps, Index, Name, Params, Reply) :-
492 forall(member(Value-Name, [Index-index, Name-name]), non_empty(Value, Name)),
493 make_context([Index, '_warmer', Name], Context),
494 perform_request(Ps, delete, Context, Params, _, Reply).
502status(Ps, Index, Reply) :-
503 status(Ps, Index, _{}, Reply).
504
505status(Ps, Index, Params, Reply) :-
506 make_context([Index, '_status'], Context),
507 perform_request(Ps, get, Context, Params, _, Reply).
515stats(Ps, Index, Metric, Reply) :-
516 stats(Ps, Index, Metric, _{}, Reply).
517
518stats(Ps, Index, Metric, Params, Reply) :-
519 make_context([Index, '_stats', Metric], Context),
520 perform_request(Ps, get, Context, Params, _, Reply).
528segments(Ps, Index, Reply) :-
529 segments(Ps, Index, _{}, Reply).
530
531segments(Ps, Index, Params, Reply) :-
532 make_context([Index, '_segments'], Context),
533 perform_request(Ps, get, Context, Params, _, Reply).
541optimize(Ps, Index, Reply) :-
542 optimize(Ps, Index, _{}, Reply).
543
544optimize(Ps, Index, Params, Reply) :-
545 make_context([Index, '_optimize'], Context),
546 perform_request(Ps, get, Context, Params, _, Reply).
554validate_query(Ps, Index, DocType, Body, Reply) :-
555 validate_query(Ps, Index, DocType, _{}, Body, Reply).
556
557validate_query(Ps, Index, DocType, Params, Body, Reply) :-
558 make_context([Index, DocType, '_validate', query], Context),
559 perform_request(Ps, get, Context, Params, Body, _, Reply).
567clear_cache(Ps, Index, Reply) :-
568 clear_cache(Ps, Index, _{}, Reply).
569
570clear_cache(Ps, Index, Params, Reply) :-
571 make_context([Index, '_cache', clear], Context),
572 perform_request(Ps, post, Context, Params, '', _, Reply).
582recovery(Ps, Index, Reply) :-
583 recovery(Ps, Index, _{}, Reply).
584
585recovery(Ps, Index, Params, Reply) :-
586 make_context([Index, '_recovery'], Context),
587 perform_request(Ps, get, Context, Params, _, Reply).
595snapshot_index(Ps, Index, Reply) :-
596 snapshot_index(Ps, Index, _{}, Reply).
597
598snapshot_index(Ps, Index, Params, Reply) :-
599 make_context([Index, '_gateway', 'snapshot'], Context),
600 perform_request(Ps, post, Context, Params, '', _, Reply).
608upgrade(Ps, Index, Reply) :-
609 upgrade(Ps, Index, _{}, Reply).
610
611upgrade(Ps, Index, Params, Reply) :-
612 make_context([Index, '_upgrade'], Context),
613 perform_request(Ps, post, Context, Params, '', _, Reply).
621get_upgrade(Ps, Index, Reply) :-
622 get_upgrade(Ps, Index, _{}, Reply).
623
624get_upgrade(Ps, Index, Params, Reply) :-
625 make_context([Index, '_upgrade'], Context),
626 perform_request(Ps, get, Context, Params, _, Reply)
Indices APIs
The indices APIs are used to manage individual indices, index settings, aliases, mappings, index templates and warmers.