如何在elasticsearch 6.2.1中找到索引? [英] How to find index exists in elasticsearch 6.2.1?
本文介绍了如何在elasticsearch 6.2.1中找到索引?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我曾试图检查弹性搜索的RestHighLevelClient中是否存在索引6.2.1
目前我正在使用以下代码
尝试{
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如果索引不存在
}
}
它工作正常,但我想找到一些相关的方法,如
<$ 。p $ p>
client.indices()存在(INDEXNAME);
弹性搜索6.2.1
任何帮助真的很感激。
解决方案
在高级REST客户端(可能从6.3开始)支持此功能之前,您可以通过使用低级REST客户端并发出 HEAD HTTP请求您的索引名称
响应响应= restClient.performRequest(HEAD,/+ indexname);
int statusCode = response.getStatusLine()。getStatusCode();
if(statusCode == 404){
//索引不存在
}否则{
//索引存在
}
I had trying to check whether a index exists in the RestHighLevelClient of elasticsearch 6.2.1
presently I am using using following code
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
}
}
it works fine but I want to find some relevant methods like
client.indices().exists(indexname);
elastic search 6.2.1
Any help is really appreciated.
解决方案
Until this is supported by the high-level REST client (probably as of 6.3), you can achieve this by using the low-level REST client and issuing a HEAD HTTP request to your index name
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中找到索引?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文