Java Low Level REST Client


Java Low Level REST Client | Java REST Client [7.6] | Elastic

Elasticsearch 的官方底层客户端。它允许通过 HTTP 与 Elasticsearch 集群进行通信。它可以将请求和响应留给用户来处理。它与所有 Elasticsearch 版本兼容。

Maven 引入

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-client</artifactId>
    <version>7.6.2</version>
</dependency>

客户端初始化

// 构建请求客户端
RestClient restClient = RestClient.builder(
            new HttpHost("localhost", 9200, "http"),
            new HttpHost("localhost", 9300, "http"),
).build();
// 关闭请求客户端
restClient.close();

自定义请求头

Header[] defaultHeaders = new Header[]{new BasicHeader("header", "value")};
builder.setDefaultHeaders(defaultHeaders);

请求失败处理

RestClientBuilder builder = RestClient.builder(
        new HttpHost("localhost", 9200, "http"));
builder.setFailureListener(new RestClient.FailureListener() {
    @Override
    public void onFailure(Node node) {
        // 请求失败处理过程
    }
});

构建、发送请求

一旦 RestClient 被创建,就可以通过调用 performRequest 发送同步请求, performRequestAsync 发送异步请求请求。

发送同步请求