在test里测试一下各个API。
打开es,也运行es-head,方便观察。
一、关于索引的API详解
这里的client对ES发出请求,就相当于我们的kibana。
1.1 声明客户端
@SpringBootTest
class SpringEsApiApplicationTests {
@Autowired
@Qualifier("restHighLevelClient")
private RestHighLevelClient client; //加上@@Qualifier,就可以用client去替换restHighLevelClient
// client就相当于kibana
@Test
void contextLoads() {
}
}
1.2 创建索引
官方说明:Create Index API | Java REST Client [7.17] | ElasticCreate Index API | Java REST Client [7.15] | ElasticCreate Index API | Java REST Client [7.17] | Elastic
PS:看文档的时候注意选择合适的client版本,我这里看的就是7.15版本的
主要就是两步:
(1)定义 创建索引请求(CreateIndexRequest)
(2)client发送请求,返回值是响应的对象
//测试 创建索引 Request
@Test
void testCreateIndex() throws IOException {
//1.定义 创建索引请求(CreateIndexRequest)
CreateIndexRequest request = new CreateIndexRequest("test2");
//2.client发送请求,获得响应
CreateIndexResponse response = client.indices().create(request, RequestOptions.DEFAULT);
System.out.println(response);
}
运行。
通过命令行的返回值可以看到返回了创建索引的response:
去head中查看,创建成功。
1.3 获取文档 / 判断文档是否存在
官方:Index Exists API | Java REST Client [7.15] | Elastic
//测试 获取索引 Request
@Test
void testGetIndex() throws IOException {
//1.定义 获取索引请求
GetIndexRequest request = new GetIndexRequest("test2");
//2.client发送请求,返回布尔值
boolean exists = client.indices().exists(request,RequestOptions.DEFAULT);
System.out.println(exists);
}
运行。
1.4 删除索引
官方文档:Delete Index API | Java REST Client [7.15] | Elastic
//测试 删除索引
@Test
void testDeleteIndex() throws IOException {
//1.定义 删除索引请求
DeleteIndexRequest request = new DeleteIndexRequest("test2");
//2.client发送请求,获得响应
AcknowledgedResponse response = client.indices().delete(request, RequestOptions.DEFAULT);
System.out.println(response.isAcknowledged()); //响应的状态为true就代表成功删除
}
运行单元测试。
命令行显示删除成功,再来head看一下。
更新中。。。