如何查找elasticsearch 6.2.1中存在的索引?

Rav*_*oju 3 java indexing elasticsearch

我曾尝试检查 elasticsearch 6.2.1 的 RestHighLevelClient 中是否存在索引

目前我正在使用以下代码

    try {

        OpenIndexRequest openIndexRequest = new OpenIndexRequest(indexName);
        client.indices().open(openIndexRequest, header).isAcknowledged();

    } catch (ElasticsearchStatusException ex) {
        String m = "Elasticsearch exception [type=index_not_found_exception, reason=no such index]";

        if (m.equals(ex.getMessage())) {
            //TODO In case index does not exists
        }
    }
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我想找到一些相关的方法,例如

client.indices().exists(indexname);
Run Code Online (Sandbox Code Playgroud)

弹性搜索 6.2.1

任何帮助都非常感谢。

Val*_*Val 6

在高级 REST 客户端(可能从 6.3 开始)支持之前,您可以通过使用低级 REST 客户端并向索引名称发出HEAD HTTP 请求来实现此目的

Response response = restClient.performRequest("HEAD", "/" + indexname); 
int statusCode = response.getStatusLine().getStatusCode(); 
if (statusCode == 404) {
   // index does not exist
} else {
   // index exists
}
Run Code Online (Sandbox Code Playgroud)