中介軟體:ElasticSearch元件RestHighLevelClient用法詳解
阿新 • • 發佈:2021-01-25
本文原始碼:[GitHub·點這裡](https://github.com/cicadasmile/data-manage-parent) || [GitEE·點這裡](https://gitee.com/cicadasmile/data-manage-parent)
# 一、基礎API簡介
## 1、RestHighLevelClient
RestHighLevelClient的API作為ElasticSearch備受推薦的客戶端元件,其封裝系統操作ES的方法,包括索引結構管理,資料增刪改查管理,常用查詢方法,並且可以結合原生ES查詢原生語法,功能十分強大。
![](https://img2020.cnblogs.com/blog/1691717/202101/1691717-20210124224456155-1622521458.png)
在使用RestHighLevelClient的語法時,通常涉及上面幾個方面,在掌握基礎用法之上可以根據業務特點進行一些自定義封裝,這樣可以更優雅的解決業務需求。
## 2、核心依賴
使用RestHighLevelClient需要依賴`rest-high-level-client`包,和ES相關基礎依賴。
```xml
```
# 二、索引管理
這裡不做過多描述,注意一點:因為ES的資料結構特點,所以不需要索引更新方法,新的欄位在更新資料時直接寫入即可,不需要提前更新索引結構。
```java
@Service
public class EsIndexOperation {
@Resource
private RestHighLevelClient client ;
private final RequestOptions options = RequestOptions.DEFAULT;
/**
* 判斷索引是否存在
*/
public boolean checkIndex (String index) {
try {
return client.indices().exists(new GetIndexRequest(index), options);
} catch (IOException e) {
e.printStackTrace();
}
return Boolean.FALSE ;
}
/**
* 建立索引
*/
public boolean createIndex (String indexN