Elasticsearch rest-high-level-client 基本操作( 二 )


Elasticsearch rest-high-level-client 基本操作

文章插圖
可以根據 response 獲取 aliases , mappings , settings 等等 和 Kibana 中返回的一樣
Elasticsearch rest-high-level-client 基本操作

文章插圖
5.插入文檔client.index插入文檔 需要使用 IndexRequest 對象 , 注意 不是 InsertRequest , 不知道為什么不這樣定義 感覺會更加好理解
request.source(blogInfoJsonStr, XContentType.JSON);
@Testpublic void insertDoc() {IndexRequest request = new IndexRequest();request.index("blog1").id("1");BlogInfo blogInfo =new BlogInfo().setBlogName("Elasticsearch 入門第一章").setBlogType("Elasticsearch").setBlogDesc("本篇主要介紹了Elasticsearch 的基本client操作");try {//提供java 對象的 json strString blogInfoJsonStr = objectMapper.writeValueAsString(blogInfo);request.source(blogInfoJsonStr, XContentType.JSON);// 這里會拋錯 原因是 我的 Elasticsearch 版本8.x 而 使用的 restHighLevel 已經解析不了,因為新的es已經不推薦使用// restHighLevel,而使用 Elasticsearch Java API ClientIndexResponse index = client.index(request, RequestOptions.DEFAULT);log.info("[Result insert doc :{} ]", index);} catch (IOException e) {}}6.查詢文檔 client.get注意getResponse.getSourceAsString() 返回文檔數據
@Testpublic void testSelectDoc() {GetRequest getRequest = new GetRequest();getRequest.index("blog1").id("1");try {GetResponse getResponse = client.get(getRequest, RequestOptions.DEFAULT);BlogInfo blogInfo =objectMapper.readValue(getResponse.getSourceAsString(), BlogInfo.class);log.info("[get doc :{}] ", blogInfo);} catch (IOException e) {e.printStackTrace();}}
Elasticsearch rest-high-level-client 基本操作

文章插圖
7.刪除文檔 client.delete注意 刪除文檔 的response 也解析不了 Elasticsearch 8.x 版本
@Testpublic void testDeleteDoc() {DeleteRequest deleteRequest = new DeleteRequest();deleteRequest.index("blog1").id("1");try {// 這里也會拋錯 和上面的一樣DeleteResponse deleteResponse = client.delete(deleteRequest, RequestOptions.DEFAULT);log.info("[delete response:{} ]", deleteResponse);} catch (IOException e) {}}總結本篇主要介紹了 java 操作Elasticsearch 的客戶端 rest-high-level-client 的基本使用 , 如果你是使用springboot 需要注意jar 沖突問題, 后續操作 Elasticsearch 客戶端 逐漸變成 Elasticsearch Java API Client,不過目前大部分還是使用 rest-high-level-client
歡迎大家訪問 個人博客Johnny小屋歡迎關注個人公眾號

Elasticsearch rest-high-level-client 基本操作

文章插圖
【Elasticsearch rest-high-level-client 基本操作】

推薦閱讀