【问题标题】:How to find index exists in elasticsearch 6.2.1?如何查找 elasticsearch 6.2.1 中存在的索引?
【发布时间】:2018-08-02 06:41:58
【问题描述】:

我曾尝试检查 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);

弹性搜索 6.2.1

非常感谢任何帮助。

【问题讨论】:

    标签: java elasticsearch indexing


    【解决方案1】:

    在高级 REST 客户端(可能从 6.3 开始)支持之前,您可以通过使用低级 REST 客户端并发出 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
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-31
    • 2014-10-10
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    • 2016-12-30
    • 2015-11-18
    相关资源
    最近更新 更多