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

Spring集成ES

RestAPI

ES官方提供的java语言客户端用以组装DSL语句,再通过http请求发送给ES

RestClient初始化

引入依赖

<dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId>
</dependency>
初始化RestHighLevelClient
RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(HttpHost.create("http://192.168.150.101:9200")
));

RestClient操作索引

创建索引

创建一个CreateIndexRequest对象

在对象中添加JSON格式的Mapping映射参数

client.indices()方法会返回封装了所有索引库操作的一个客户端

这里我们使用

client.indices().create(request, RequestOptions.DEFAULT);

删除索引

创建一个DeleteIndexRequest对象

调用delete方法

client.indices().delete(request, RequestOptions.DEFAULT);

查询索引是否存在

创建一个GetIndexRequest对象

调用exist方法

client.indices().exists(request, RequestOptions.DEFAULT);

RestClient操作文档

查询文档

创建一个GetRequest对象

调用get方法

 GetResponse response = client.get(request, RequestOptions.DEFAULT);String json = response.getSourceAsString();

删除文档

创建一个DeleteRequest对象

调用delete方法

client.delete(request, RequestOptions.DEFAULT);

修改文档

如果id存在就修改

如果id不存在就新增

创建一个 UpdateRequest对象

调用update方法

client.update(request, RequestOptions.DEFAULT);

批量导入文档

创建BulkRequest对象,可以添加以下请求

  • IndexRequest,也就是新增
  • UpdateRequest,也就是修改
  • DeleteRequest,也就是删除

在对象中添加多个不同请求,最后调用bulk方法

request.add(new IndexRequest("items").id("1").source("json doc1", XContentType.JSON));request.add(new IndexRequest("items").id("2").source("json doc2", XContentType.JSON));
client.bulk(request, RequestOptions.DEFAULT);
http://www.lryc.cn/news/410398.html

相关文章:

  • 力扣高频SQL 50题(基础版)第二十六题
  • WIFI 接收机和发射机同步问题+CFO/SFO频率偏移问题
  • ubuntu安装并配置flameshot截图软件
  • 【Linux】CentOS更换国内阿里云yum源(超详细)
  • Leetcode49. 字母异位词分组(java实现)
  • OpenJudge | 字符串中最长的连续出现的字符
  • 11day-C++list容器使用
  • docker 常用管理命令及数据备份
  • 前端开发:Vue2.0桌面组件库-Element
  • Java常见的面试二
  • 【Qt】QLCDNumberQProgressBarQCalendarWidget
  • C++ 代码实现局域网即时通信功能 (windows 系统 客户端)
  • 机器人阻抗控制实现方法及其存在的科学问题
  • 解决:xxx.xxx/res/modules/.ds_store: error: the file name must end with .xml 问题
  • EEtrade:区块链技术的五大应用场景
  • DAO、DPO、DTO、POJO、VO、BO、EBO
  • 数据库期末复习
  • pyinstaller带浏览器一起打包playwright 独立运行exe
  • docker添加容器服务所需字体
  • Java面试八股之Spring AOP 和 AspectJ AOP 的区别
  • Java人力资源招聘社会校招类型招聘系统PC端
  • C# 知识点总结
  • 【ffmpeg命令入门】视频的旋转与翻转
  • 学懂C语言(二十五):深入理解 C语言结构体 位域 的概念
  • LLM推理优化——KV Cache篇(百倍提速)
  • Linux进程--system
  • [Office] Word 特殊字符
  • 联想电脑怎么重装系统_联想电脑U盘重装win10详细图文教程
  • 前端开发者必备:揭秘谷歌F12调试的隐藏技巧!
  • vivado IP_REPO_PATHS