在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:

spring boot配置es账号密码 springboot es api_elasticsearch

去head中查看,创建成功。

spring boot配置es账号密码 springboot es api_elasticsearch_02

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);
	}

运行。

spring boot配置es账号密码 springboot es api_elasticsearch_03

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就代表成功删除
	}

运行单元测试。

spring boot配置es账号密码 springboot es api_spring boot_04

命令行显示删除成功,再来head看一下。

spring boot配置es账号密码 springboot es api_API_05

更新中。。。