那我如何使用java连接到远程的elasticsearch8.7.0呢
时间: 2024-03-02 11:48:36 浏览: 132
连接到远程的 Elasticsearch 8.7.0 需要使用 Java 客户端。以下是连接到 Elasticsearch 8.7.0 的示例代码:
```java
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.common.settings.Settings;
public class ElasticsearchClient {
public static RestHighLevelClient createClient() {
// 设置 Elasticsearch 集群的名称
String clusterName = "my-es-cluster";
// 设置 Elasticsearch 集群中的节点 IP 和端口
String host = "localhost";
int port = 9200;
// 配置连接 Elasticsearch 的 RestClient
RestClientBuilder builder = RestClient.builder(new HttpHost(host, port))
.setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder
.setDefaultCredentialsProvider(new BasicCredentialsProvider()))
.setRequestConfigCallback(requestConfigBuilder -> requestConfigBuilder
.setConnectTimeout(5000)
.setSocketTimeout(60000));
// 配置连接 Elasticsearch 的 RestHighLevelClient
RestHighLevelClient client = new RestHighLevelClient(builder);
return client;
}
}
```
在上面的代码中,我们使用 `RestClientBuilder` 构建了一个连接到 Elasticsearch 的 `RestHighLevelClient`,并设置了连接 Elasticsearch 的节点 IP 和端口、连接超时时间、读取超时时间和认证信息。
在使用时,只需要调用 `createClient()` 方法即可创建一个连接到 Elasticsearch 的 `RestHighLevelClient` 对象:
```java
RestHighLevelClient client = ElasticsearchClient.createClient();
```
注意,为了使用 Elasticsearch 的 Java API,还需要添加 Elasticsearch 的依赖,例如:
```xml
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.15.0</version>
</dependency>
```
阅读全文