如何找到Elasticsearch 6.2.1中存在的索引?

我试图检查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

}

}

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

client.indices().exists(indexname);

elasticsearch6.2.1

任何帮助都非常感谢。

回答:

在高级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

}

以上是 如何找到Elasticsearch 6.2.1中存在的索引? 的全部内容, 来源链接: utcz.com/qa/407578.html

回到顶部