Rollover Index API
editRollover Index API
editRollover Request
editThe Rollover Index API requires a RolloverRequest
instance.
A RolloverRequest
requires two string arguments at construction time, and
one or more conditions that determine when the index has to be rolled over:
Optional arguments
editThe following arguments can optionally be provided:
Timeout to wait for the all the nodes to acknowledge the index is opened
as a |
|
Timeout to wait for the all the nodes to acknowledge the index is opened
as a |
Timeout to connect to the master node as a |
|
Timeout to connect to the master node as a |
request.getCreateIndexRequest().waitForActiveShards(2); request.getCreateIndexRequest().waitForActiveShards(ActiveShardCount.DEFAULT);
The number of active shard copies to wait for before the rollover index API
returns a response, as an |
|
The number of active shard copies to wait for before the rollover index API
returns a response, as an |
Add the mappings to associate the new index with. See Index mappings for examples on the different ways to provide mappings |
Synchronous Execution
editRolloverResponse rolloverResponse = client.indices().rollover(request, RequestOptions.DEFAULT);
Asynchronous Execution
editThe asynchronous execution of a rollover request requires both the RolloverRequest
instance and an ActionListener
instance to be passed to the asynchronous
method:
The asynchronous method does not block and returns immediately. Once it is
completed the ActionListener
is called back using the onResponse
method
if the execution successfully completed or using the onFailure
method if
it failed.
A typical listener for RolloverResponse
looks like:
Rollover Response
editThe returned RolloverResponse
allows to retrieve information about the
executed operation as follows:
boolean acknowledged = rolloverResponse.isAcknowledged(); boolean shardsAcked = rolloverResponse.isShardsAcknowledged(); String oldIndex = rolloverResponse.getOldIndex(); String newIndex = rolloverResponse.getNewIndex(); boolean isRolledOver = rolloverResponse.isRolledOver(); boolean isDryRun = rolloverResponse.isDryRun(); Map<String, Boolean> conditionStatus = rolloverResponse.getConditionStatus();
Indicates whether all of the nodes have acknowledged the request |
|
Indicates whether the requisite number of shard copies were started for each shard in the index before timing out |
|
The name of the old index, eventually rolled over |
|
The name of the new index |
|
Whether the index has been rolled over |
|
Whether the operation was performed or it was a dry run |
|
The different conditions and whether they were matched or not |