当前位置: 首页 > news >正文

三、RestClient操作索引库与文档

文章目录

  • 三、`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中索引库与文档操作

http://www.lryc.cn/news/197214.html

相关文章:

  • Hadoop3教程(五):NameNode和SecondaryNameNode
  • 腾讯云我的世界mc服务器多少钱一年?
  • modelsim实现二选一以及D触发器并仿真
  • 直线导轨在喷涂行业中的应用场景
  • 纯css+js自制下拉框
  • uniapp在App端如何动态修改原生导航栏?
  • Linux:CPUPower管理器 --- cpufreq解析
  • 【嵌入式开发问答】不是普通的嵌入式八股
  • 面试题-springboot篇-SpringBoot的注解
  • BaiChuan2保姆级微调范例
  • postgresql参数优化
  • 【极速发表】2-4区SCI (含CCF),平均录用周期仅2个月,最快11天见刊!
  • Git 提交规范
  • [Python进阶] 操纵鼠标:PyAutoGUI
  • JavaScript querySelector
  • Selenium自动化测试
  • Lua调用C#类
  • “react“: “^16.14.0“,打开弹窗数据发生变化
  • MySQL数据库varchar字段求和出现精度丢失
  • C++入门 第二篇( 引用、内联函数、auto关键字、指针空值nullptr)
  • 2023年煤气证模拟考试题库及煤气理论考试试题
  • 嵌入式面试经典30问
  • C++ 八股文: 构造函数
  • 自动切割短视频的软件推荐,一键生成1000条短视频,支持六大主流平台矩阵分发,快来免费试用
  • 从零开始学习秒杀项目
  • 儿童珠宝首饰上亚马逊美国站合规标准是什么?如何办理?
  • ORACLE 19C PDB FOR MYSQL 5.7 部署ogg
  • 前端 html 中的 meta 标签有哪些用处?
  • 罗技鼠标接收器丢失或损坏后用另一个接收器配对的方法
  • Python语法