The following is sample Java program to get the list of aliases in an Elasticsearch instance.
Sample Program:
package com.report.test; import java.util.ArrayList; import java.util.List; import org.elasticsearch.client.Client; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.cluster.metadata.AliasMetaData; import org.elasticsearch.common.collect.ImmutableOpenMap; import org.elasticsearch.common.settings.ImmutableSettings; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.InetSocketTransportAddress; public class SampleProgram{ public static void main(String[] args) { String hostname = "localhost"; String clusterName = "elasticsearch"; Settings settings = ImmutableSettings.settingsBuilder().put("client.transport.sniff", true).put("cluster.name", clusterName).build(); Client esclient = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress(hostname, 9300)); List aliasList = new ArrayList(); ImmutableOpenMap<String, ImmutableOpenMap<String, AliasMetaData>> object = esclient.admin().cluster().prepareState().execute().actionGet().getState().getMetaData().getAliases(); Object[] aliasKeyObjectArray = object.keys().toArray(); for (Object aliasObject : aliasKeyObjectArray) { aliasList.add(aliasObject.toString()); } System.out.println("Alias List:"); for (String alias : aliasList) { System.out.println(alias); } } }
Sample Output:
Alias List: student_group sample_alias