前言
周末闲来无事,到官网学习(fanyi)了下最新版本的ESJavaRest API。
ES版本:7.6.2
Springboot版本:2.2.6
目录
前言
准备工作及注意事项
1. Maven导包
2. 初始化Client
索引(index)
增加索引
删除索引
查询索引是否存在
文档(document)
添加文档
删除文档
查询文档是否存在
更新文档
数据(datas)
批量插入数据
查询
点个赞再走,球球啦!
Springboot 2.2.6默认帮我们导入的是ES 6.8.7的包,所以我们需要更改下版本
7.6.1
1
@ConfigurationpublicclassElasticSearchConfig{@BeanpublicRestHighLevelClientclient(){RestHighLevelClientclient=newRestHighLevelClient(RestClient.builder(newHttpHost("localhost",9200,"http") ));returnclient; }}
1
2
3
4
5
6
7
8
9
10
11
//创建索引@TestvoidcreateIndex()throwsIOException {CreateIndexRequestrequest=newCreateIndexRequest("index1");CreateIndexResponsecreateIndexResponse=client.indices().create(request, RequestOptions.DEFAULT); }
1
2
3
4
5
6
7
//删除索引@TestvoiddeleteIndex()throwsIOException {DeleteIndexRequestrequest=newDeleteIndexRequest("index1");AcknowledgedResponsedelete=client.indices().delete(request, RequestOptions.DEFAULT);booleanisSuccessful=delete.isAcknowledged(); System.out.println(isSuccessful); }
1
2
3
4
5
6
7
8
9
//返回索引是否存在@TestvoidexistIndex()throwsIOException {GetIndexRequestrequest=newGetIndexRequest("index1");booleanexists=client.indices().exists(request, RequestOptions.DEFAULT); System.out.println(exists); }
1
2
3
4
5
6
7
8
//添加文档@TestvoidaddDocument()throwsIOException {Useruser=newUser("dai",22);IndexRequestrequest=newIndexRequest("index1") .id("1") .timeout(TimeValue.timeValueSeconds(1));IndexRequestsource=request.source(JSON.toJSONString(user), XContentType.JSON);IndexResponseindexResponse=client.index(request, RequestOptions.DEFAULT); System.out.println(indexResponse.toString()); System.out.println(indexResponse.status()); }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//删除文档@TestvoiddeleteDocument()throwsIOException {DeleteRequestrequest=newDeleteRequest("index1","2"); request.timeout("1s");DeleteResponsedeleteResponse=client.delete(request, RequestOptions.DEFAULT); System.out.println(deleteResponse.status()); }
1
2
3
4
5
6
7
8
9
//判断文档是否存在@TestvoidisExistDocument()throwsIOException {GetRequestrequest=newGetRequest("index1","1");//不获取_source内容,提升效率request.fetchSourceContext(newFetchSourceContext(false)); request.storedFields("_none_");booleanexists=client.exists(request, RequestOptions.DEFAULT); System.out.println(exists); }
1
2
3
4
5
6
7
8
9
10
11
//更新文档@TestvoidupdateDocument()throwsIOException {UpdateRequestrequest=newUpdateRequest("index1","1"); request.timeout("1s");Useruser=newUser("dai2",22); request.doc(JSON.toJSONString(user), XContentType.JSON);UpdateResponseupdateResponse=client.update(request, RequestOptions.DEFAULT); System.out.println(updateResponse.status()); }
1
2
13