栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

ES RestApi 操作索引别名

ES RestApi 操作索引别名

1、查询系统中所有的索引别名

public List queryAllAlias() {
    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 List aliasIndex(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);
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/651956.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号