概述
Java 是官方推荐的编程语言之一,使用 Elasticsearch提供的 Java REST 客户端可以轻松与实例进行交互,包括索引管理、数据查询、插入文档等操作,适用于构建基于Java的大规模应用。
前提条件
- 已开通天翼云云搜索服务Elasticsearch实例。
- 集群已绑定公网 IP。具体可参考“实例公网访问”章节。
- 已在本地安装了JDK(推荐 JDK 8 及以上版本)。
- 已配置 Maven 或 Gradle 项目依赖以支持 Elasticsearch Java客户端。
操作步骤
在项目中引入Elasticsearch客户端依赖。Maven 依赖配置如下:
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.10.2</version>
</dependency>
使用以下代码连接到 Elasticsearch实例:
import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
public class ElasticsearchJavaClient {
public static void main(String[] args) {
// 初始化客户端
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("<host>", 9200, "http"))
.setDefaultCredentialsProvider(new BasicCredentialsProvider().setCredentials(
AuthScope.ANY, new UsernamePasswordCredentials("<user>", "<password>")
)));
// 执行操作,例如创建索引等
// ...
// 关闭客户端
client.close();
}
}
host
:集群绑定的公网 IP。
user
:Elasticsearch 集群用户名,例如 admin。
password
:用户密码,例如 admin 用户的密码。
在执行具体操作时,例如创建索引:
CreateIndexRequest request = new CreateIndexRequest("my_index");
CreateIndexResponse createIndexResponse = client.indices().create(request, RequestOptions.DEFAULT);
操作完成后记得关闭客户端:
client.close();