1、查询系统中所有的索引别名
public ListqueryAllAlias() { RestClient lowLevelClient = RestHighLevelClientHolder.get().getLowLevelClient(); Request request = new Request(HttpGet.METHOD_NAME, "_aliases"); Response response = lowLevelClient.performRequest(request); String aliasString = EntityUtils.toString(response.getEntity()); Map map = JSON.parseObject(aliasString, Map.class); Set aliasSet = new HashSet(); for (JSonObject jsonObject :map.values()) { aliasSet.addAll(jsonObject.getJSonObject("aliases").keySet()); } List result = new ArrayList<>(aliasSet); Collections.sort(result); return result; }
2、根据索引别名查询关联的所有索引
public ListaliasIndex(Integer projectId, String aliasName) { RestClient lowLevelClient = RestHighLevelClientHolder.get().getLowLevelClient(); Request request = new Request(HttpGet.METHOD_NAME, "_alias/" + aliasName); Response response = lowLevelClient.performRequest(request); String aliasString = EntityUtils.toString(response.getEntity()); Map map = JSON.parseObject(aliasString, Map.class); List result = new ArrayList<>(map.keySet()); Collections.sort(result); return result; }
3、新增索引的索引别名
public void addAlias(String indexName, String aliasName) throws IOException {
IndicesClient indicesClient = RestHighLevelClientHolder.get().indices();
IndicesAliasesRequest.AliasActions aliasActions = IndicesAliasesRequest.AliasActions.add();
aliasActions.alias(aliasName);
aliasActions.index(indexName);
IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest();
indicesAliasesRequest.addAliasAction(aliasActions);
indicesClient.updateAliases(indicesAliasesRequest, RequestOptions.DEFAULT);
}
4、删除索引的索引别名
public void deleteAlias(String indexName, String aliasName) throws IOException {
IndicesClient indicesClient = RestHighLevelClientHolder.get().indices();
IndicesAliasesRequest.AliasActions aliasActions = IndicesAliasesRequest.AliasActions.remove();
aliasActions.alias(aliasName);
aliasActions.index(indexName);
IndicesAliasesRequest indicesAliasesRequest = new IndicesAliasesRequest();
indicesAliasesRequest.addAliasAction(aliasActions);
indicesClient.updateAliases(indicesAliasesRequest, RequestOptions.DEFAULT);
}



