文章目录
- 三、`RestClient`操作索引库与文档
- 3.1 操作索引库
- 3.2 操作文档
- 结束语
三、RestClient
操作索引库与文档
ES
官方提供了各种不同语言的客户端,用来操作ES
。这些客户端的本质就是组装DSL
语句,通过http
请求发送给ES
。
官方文档地址: https://www.elastic.co/guide/en/elasticsearch/client/index.html
数据库文件:视频里展示的数据库表可以使用自己有的其他数据替代,不一定非要一致。
自己手敲了个工程项目(包含SQL文件):测试RestClient项目文件
3.1 操作索引库
设计数据表对应的mappings
PUT /movie
{"mappings": {"properties": {"all":{"type": "text","analyzer": "ik_max_word"},"movieId":{"type": "keyword"},"movieTitle":{"type": "text","analyzer": "ik_max_word", "copy_to": "all"},"movieIntroduction":{"type": "text","analyzer": "ik_max_word", "copy_to": "all"},"movieRating":{"type": "float"},"movieReleaseDate":{"type": "keyword", "copy_to": "all"}}}
}
引入依赖
<properties><java.version>1.8</java.version><elasticsearch.version>7.12.1</elasticsearch.version><mybatis-plus-boot.version>3.4.2</mybatis-plus-boot.version>
</properties><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.12.1</version>
</dependency>
初始化
public class MovieIndexTest {private RestHighLevelClient client;@Testvoid testInit(){System.out.println(client);}@BeforeEachvoid setUp(){this.client = new RestHighLevelClient(RestClient.builder(HttpHost.create("http://10.120.54.174:9200")));}@AfterEachvoid close() throws IOException {this.client.close();}
}
创建movie
索引,CREATE_MOVIE
为上面的 mappings
public class MovieIndexTest {// ...........@Testvoid testCreateMovieIndex() throws IOException {// 创建RequestCreateIndexRequest request = new CreateIndexRequest("movie");// 准备请求数据request.source(CREATE_MOVIE, XContentType.JSON);// 发送请求client.indices().create(request, RequestOptions.DEFAULT);}// ...........
}
删除、获取,判断是否存在
public class MovieIndexTest {@Testvoid testDelete() throws IOException {DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest("movie");client.indices().delete(deleteIndexRequest,RequestOptions.DEFAULT);}@Testvoid testExists() throws IOException {GetIndexRequest getIndexRequest = new GetIndexRequest("movie");boolean exists = client.indices().exists(getIndexRequest, RequestOptions.DEFAULT);System.out.println(exists);}@Testvoid testGet() throws IOException {GetIndexRequest getIndexRequest = new GetIndexRequest("movie");GetIndexResponse getIndexResponse = client.indices().get(getIndexRequest, RequestOptions.DEFAULT);System.out.println(getIndexResponse);}
}
3.2 操作文档
【TODO】
结束语
上一篇:二、ElasticSearch中索引库与文档操作