1:- module(indices, [
    2    analyze/4,              % +Ps, +Index, +Body, -Reply
    3    analyze/5,              % +Ps, +Index, +Params, +Body, -Reply
    4    refresh/3,              % +Ps, +Index, -Reply
    5    refresh/4,              % +Ps, +Index, +Params, -Reply
    6    flush/3,                % +Ps, +Index, -Reply
    7    flush/4,                % +Ps, +Index, +Params, -Reply
    8    create/4,               % +Ps, +Index, +Body, -Reply
    9    create/5,               % +Ps, +Index, +Params, +Body, -Reply
   10    get/4,                  % +Ps, +Index, +Feature, -Reply
   11    get/5,                  % +Ps, +Index, +Feature, +Params, -Reply
   12    open_index/3,           % +Ps, +Index, -Reply
   13    open_index/4,           % +Ps, +Index, +Params, -Reply
   14    close_index/3,          % +Ps, +Index, -Reply
   15    close_index/4,          % +Ps, +Index, +Params, -Reply
   16    delete/3,               % +Ps, +Index, -Reply
   17    delete/4,               % +Ps, +Index, +Params, -Reply
   18    exists/2,               % +Ps, +Index
   19    exists/3,               % +Ps, +Index, +Params
   20    put_mapping/5,          % +Ps, +Index, +DocType, +Body, -Reply
   21    put_mapping/6,          % +Ps, +Index, +DocType, +Params, +Body, -Reply
   22    get_mapping/4,          % +Ps, +Index, +DocType, -Reply
   23    get_mapping/5,          % +Ps, +Index, +DocType, +Params, -Reply
   24    get_field_mapping/5,    % +Ps, +Index, +DocType, +Field, -Reply
   25    get_field_mapping/6,    % +Ps, +Index, +DocType, +Field, +Params, -Reply
   26    delete_mapping/4,       % +Ps, +Index, +DocType, -Reply
   27    delete_mapping/5,       % +Ps, +Index, +DocType, +Params, -Reply
   28    put_alias/5,            % +Ps, +Index, +Alias, +Body, -Reply
   29    put_alias/6,            % +Ps, +Index, +Alias, +Params, +Body, -Reply
   30    exists_alias/3,         % +Ps, +Index, +Alias
   31    exists_alias/4,         % +Ps, +Index, +Alias, +Params
   32    get_alias/4,            % +Ps, +Index, +Alias, -Reply
   33    get_alias/5,            % +Ps, +Index, +Alias, +Params, -Reply
   34    get_aliases/4,          % +Ps, +Index, +Aliases, -Reply
   35    get_aliases/5,          % +Ps, +Index, +Aliases, +Params, -Reply
   36    update_aliases/3,       % +Ps, +Body, -Reply
   37    update_aliases/4,       % +Ps, +Params, +Body, -Reply
   38    delete_alias/4,         % +Ps, +Index, +Alias, -Reply
   39    delete_alias/5,         % +Ps, +Index, +Alias, +Params, -Reply
   40    put_template/4,         % +Ps, +Name, +Body, -Reply
   41    put_template/5,         % +Ps, +Name, +Params, +Body, -Reply
   42    exists_template/2,      % +Ps, +Name
   43    exists_template/3,      % +Ps, +Name, +Params
   44    get_template/3,         % +Ps, +Name, -Reply
   45    get_template/4,         % +Ps, +Name, +Params, -Reply
   46    delete_template/3,      % +Ps, +Name, -Reply
   47    delete_template/4,      % +Ps, +Name, +Params, -Reply
   48    get_settings/4,         % +Ps, +Index, +Name, -Reply
   49    get_settings/5,         % +Ps, +Index, +Name, +Params, -Reply
   50    put_settings/4,         % +Ps, +Index, +Body, -Reply
   51    put_settings/5,         % +Ps, +Index, +Params, +Body, -Reply
   52    put_warmer/6,           % +Ps, +Index, +DocType, +Name, +Body, -Reply
   53    put_warmer/7,           % +Ps, +Index, +DocType, +Name, +Params, +Body, -Reply
   54    get_warmer/5,           % +Ps, +Index, +DocType, +Name, -Reply
   55    get_warmer/6,           % +Ps, +Index, +DocType, +Name, +Params, -Reply
   56    delete_warmer/4,        % +Ps, +Index, +Name, -Reply
   57    delete_warmer/5,        % +Ps, +Index, +Name, +Params, -Reply
   58    status/3,               % +Ps, +Index, -Reply
   59    status/4,               % +Ps, +Index, +Params, -Reply
   60    stats/4,                % +Ps, +Index, +Metric, -Reply
   61    stats/5,                % +Ps, +Index, +Metric, +Params, -Reply
   62    segments/3,             % +Ps, +Index, -Reply
   63    segments/4,             % +Ps, +Index, +Params, -Reply
   64    optimize/3,             % +Ps, +Index, -Reply
   65    optimize/4,             % +Ps, +Index, +Params, -Reply
   66    validate_query/5,       % +Ps, +Index, +DocType, +Body, -Reply
   67    validate_query/6,       % +Ps, +Index, +DocType, +Params, +Body, -Reply
   68    clear_cache/3,          % +Ps, +Index, -Reply
   69    clear_cache/4,          % +Ps, +Index, +Params, -Reply
   70    recovery/3,             % +Ps, +Index, -Reply
   71    recovery/4,             % +Ps, +Index, +Params, -Reply
   72    snapshot_index/3,       % +Ps, +Index, -Reply
   73    snapshot_index/4,       % +Ps, +Index, +Params, -Reply
   74    upgrade/3,              % +Ps, +Index, -Reply
   75    upgrade/4,              % +Ps, +Index, +Params, -Reply
   76    get_upgrade/3,          % +Ps, +Index, -Reply
   77    get_upgrade/4           % +Ps, +Index, +Params, -Reply
   78]).

Indices APIs

The indices APIs are used to manage individual indices, index settings, aliases, mappings, index templates and warmers.

author
- Hongxin Liang
See also
- http://www.elastic.co/guide/en/elasticsearch/reference/current/indices.html */
license
- Apache License Version 2.0
   89:- use_module(transport).   90:- use_module(util).
 analyze(+Ps, +Index, +Body, -Reply) is semidet
 analyze(+Ps, +Index, +Params, +Body, -Reply) is semidet
Perform the analysis process on a text and return the tokens breakdown of the text. See here.
   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).
 refresh(+Ps, +Index, -Reply) is semidet
 refresh(+Ps, +Index, +Params, -Reply) is semidet
Explicitly refresh one or more index, making all operations performed since the last refresh available for search. See here.
  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).
 flush(+Ps, +Index, -Reply) is semidet
 flush(+Ps, +Index, +Params, -Reply) is semidet
Explicitly flush one or more indices. See here.
  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).
 create(+Ps, +Index, +Body, -Reply) is semidet
 create(+Ps, +Index, +Param, +Body, -Reply) is semidet
Create an index in Elasticsearch. See here.
  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).
 get(+Ps, +Index, +Feature, -Reply) is semidet
 get(+Ps, +Index, +Feature, +Params, -Reply) is semidet
The get index API allows to retrieve information about one or more indexes. See here.
  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).
 open_index(+Ps, +Index, -Reply) is semidet
 open_index(+Ps, +Index, +Params, -Reply) is semidet
Open a closed index to make it available for search. See here.
  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).
 close_index(+Ps, +Index, -Reply) is semidet
 close_index(+Ps, +Index, +Params, -Reply) is semidet
Close an index to remove it's overhead from the cluster. Closed index is blocked for read/write operations. See here.
  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).
 delete(+Ps, +Index, -Reply) is semidet
 delete(+Ps, +Index, +Params, -Reply) is semidet
Delete an index in Elasticsearch. See here.
  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).
 exists(+Ps, +Index) is semidet
 exists(+Ps, +Index, +Params) is semidet
Return a boolean indicating whether given index exists. See here.
  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    ).
 put_mapping(+Ps, +Index, +DocType, +Body, -Reply) is semidet
 put_mapping(+Ps, +Index, +DocType, +Params, +Body, -Reply) is semidet
Register specific mapping definition for a specific type. See here.
  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).
 get_mapping(+Ps, +Index, +DocType, -Reply) is semidet
 get_mapping(+Ps, +Index, +DocType, +Params, -Reply) is semidet
Retrieve mapping definition of index or index/type. See here.
  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).
 get_field_mapping(+Ps, +Index, +DocType, +Field, -Reply) is semidet
 get_field_mapping(+Ps, +Index, +DocType, +Field, +Params, -Reply) is semidet
Retrieve mapping definition of a specific field. See here.
  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).
 delete_mapping(+Ps, +Index, +DocType, -Reply) is semidet
 delete_mapping(+Ps, +Index, +DocType, +Params, -Reply) is semidet
Delete a mapping (type) along with its data. See here.
  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).
 put_alias(+Ps, +Index, +Alias, +Body, -Reply) is semidet
 put_alias(+Ps, +Index, +Alias, +Params, +Body, -Reply) is semidet
Create an alias for a specific index/indices. See here.
  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).
 exists_alias(+Ps, +Index, +Alias) is semidet
 exists_alias(+Ps, +Index, +Alias, +Params) is semidet
Return a boolean indicating whether given alias exists. See here.
  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    ).
 get_alias(+Ps, +Index, +Alias, -Reply) is semidet
 get_alias(+Ps, +Index, +Alias, +Params, -Reply) is semidet
Retrieve a specified alias. See here.
  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).
 get_aliases(+Ps, +Index, +Alias, -Reply) is semidet
 get_aliases(+Ps, +Index, +Alias, +Params, -Reply) is semidet
Retrieve a specified aliases. See here.
  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).
 update_aliases(+Ps, +Body, -Reply) is semidet
 update_aliases(+Ps, +Params, +Body, -Reply) is semidet
Update specified aliases. See here.
  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).
 delete_alias(+Ps, +Index, +Alias, -Reply) is semidet
 delete_alias(+Ps, +Index, +Alias, +Params, -Reply) is semidet
Delete specific alias. See here.
  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).
 put_template(+Ps, +Name, +Body, -Reply) is semidet
 put_template(+Ps, +Name, +Params, +Body, -Reply) is semidet
Create an index template that will automatically be applied to new indices created. See here.
  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).
 exists_template(+Ps, +Name) is semidet
 exists_template(+Ps, +Name, +Params) is semidet
Return a boolean indicating whether given template exists. See here.
  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    ).
 get_template(+Ps, +Name, -Reply) is semidet
 get_template(+Ps, +Name, +Params, -Reply) is semidet
Retrieve an index template by its name. See here.
  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).
 delete_template(+Ps, +Name, -Reply) is semidet
 delete_template(+Ps, +Name, +Params, -Reply) is semidet
Delete an index template by its name. See here.
  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).
 get_settings(+Ps, +Index, +Name, -Reply) is semidet
 get_settings(+Ps, +Index, +Name, +Params, -Reply) is semidet
Retrieve settings for one or more (or all) indices. See here.
  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).
 put_settings(+Ps, +Index, +Body, -Reply) is semidet
 put_settings(+Ps, +Index, +Params, +Body, -Reply) is semidet
Change specific index level settings in real time. See here.
  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).
 put_warmer(+Ps, +Index, +DocType, +Name, +Body, -Reply) is semidet
 put_warmer(+Ps, +Index, +DocType, +Name, +Params, +Body, -Reply) is semidet
Create an index warmer to run registered search requests to warm up the index before it is available for search. See here.
  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).
 get_warmer(+Ps, +Index, +DocType, +Name, -Reply) is semidet
 get_warmer(+Ps, +Index, +DocType, +Name, +Params, -Reply) is semidet
Retrieve an index warmer. See here.
  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).
 delete_warmer(+Ps, +Index, +Name, -Reply) is semidet
 delete_warmer(+Ps, +Index, +Name, +Params, -Reply) is semidet
Delete an index warmer. See here.
  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).
 status(+Ps, +Index, -Reply) is semidet
 status(+Ps, +Index, +Params, -Reply) is semidet
Get a comprehensive status information of one or more indices. See here.
  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).
 stats(+Ps, +Index, +Metric, -Reply) is semidet
 stats(+Ps, +Index, +Metric, +Params, -Reply) is semidet
Retrieve statistics on different operations happening on an index. See here.
  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).
 segments(+Ps, +Index, -Reply) is semidet
 segments(+Ps, +Index, +Params, -Reply) is semidet
Provide low level segments information that a Lucene index (shard level) is built with. See here.
  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).
 optimize(+Ps, +Index, -Reply) is semidet
 optimize(+Ps, +Index, +Params, -Reply) is semidet
Explicitly optimize one or more indices through an API. See here.
  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).
 validate_query(+Ps, +Index, +DocType, +Body, -Reply) is semidet
 validate_query(+Ps, +Index, +DocType, +Params, +Body, -Reply) is semidet
Validate a potentially expensive query without executing it. See here.
  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).
 clear_cache(+Ps, +Index, -Reply) is semidet
 clear_cache(+Ps, +Index, +Params, -Reply) is semidet
Clear either all caches or specific cached associated with one ore more indices. See here.
  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).
 recovery(+Ps, +Index, -Reply) is semidet
 recovery(+Ps, +Index, +Params, -Reply) is semidet
The indices recovery API provides insight into on-going shard recoveries. Recovery status may be reported for specific indices, or cluster-wide. See here.
  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).
 snapshot_index(+Ps, +Index, -Reply) is semidet
 snapshot_index(+Ps, +Index, +Params, -Reply) is semidet
Explicitly perform a snapshot through the gateway of one or more indices (backup them). See here.
  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).
 upgrade(+Ps, +Index, -Reply) is semidet
 upgrade(+Ps, +Index, +Params, -Reply) is semidet
Upgrade one or more indices to the latest format through an API. See here.
  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).
 get_upgrade(+Ps, +Index, -Reply) is semidet
 get_upgrade(+Ps, +Index, +Params, -Reply) is semidet
Monitor how much of one or more index is upgraded. See here.
  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)