in src/main/groovy/com/epam/esp/elasticsearch/ElasticSearchHelper.groovy [275:297]
void switchAliasToIndex(String aliasName, String indexName, Comparator<String> dropComporator) {
IndicesAdminClient indices = client.admin().indices();
try {
Collection<String> indicesToDrop = getIndicesFromAliasName(aliasName, indexName, dropComporator);
IndicesAliasesRequestBuilder requestBuilder = indices.prepareAliases();
requestBuilder.addAlias(indexName, aliasName);
for (String indexToDrop : indicesToDrop) {
requestBuilder.removeIndex(indexToDrop);
}
AcknowledgedResponse response = requestBuilder.execute().actionGet();
if (!response.isAcknowledged()) {
logger.warn("Unable to switch alias $aliasName to use index $indexName");
}
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace()
logger.error("Unable to switch alias to: $indexName cause: ${e.toString()}");
}
logger.info("Alias $aliasName has been switched to index $indexName")
}