需求:查询sub_开头的索引名称
1、直接搜索别名,索引不设置别名的话,默认索引名称和别名相同。
public List<String> getIndexNames() {
GetAliasesRequest request = new GetAliasesRequest();
request.indices("sub_*");
request.indicesOptions(IndicesOptions.LENIENT_EXPAND_OPEN);
request.expandAliasesWildcards();
GetAliasesResponse getAliasesResponse;
try {
getAliasesResponse = getClient().indices().getAlias(request, RequestOptions.DEFAULT);
} catch (IOException e) {
throw ZnssSystemException.error("es getIndexNames error",e);
}
Map<String, Set<AliasMetadata>> map = getAliasesResponse.getAliases();
return Lists.newArrayList(map.keySet());
}
2、直接搜索索引名称
public List<String> getIndexNames() {
GetIndexRequest getIndexRequest = new GetIndexRequest("sub_*");
// 构建获取所有索引的请求
GetIndexResponse getIndexResponse = null;
try {
getIndexResponse = getClient().indices().get(getIndexRequest, RequestOptions.DEFAULT);
} catch (IOException e) {
e.printStackTrace();
}
assert getIndexResponse != null;
// 获取所有的索引
String[] indices = getIndexResponse.getIndices();
return Arrays.asList(indices);
}