3. 向索引库中导入数据
1. 准备数据库对象
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("tb_hotel")
public class Hotel {@TableId(type = IdType.INPUT)private Long id;private String name;private String address;private Integer price;private Integer score;private String brand;private String city;private String starName;private String business;private String latitude;private String longitude;private String pic;
}
2. 准备文档对象
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;/*** 与索引库的doc保持一致*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("tb_hotel")
public class HotelDoc {@TableId(type = IdType.INPUT)private Long id;private String name;private String address;private Integer price;private Integer score;private String brand;private String city;private String starName;private String business;private String location; //地理坐标private String pic;public HotelDoc(Hotel hotel){this.id = hotel.getId();this.name = hotel.getName();this.address = hotel.getAddress();this.price = hotel.getPrice();this.score = hotel.getScore();this.brand = hotel.getBrand();this.city = hotel.getCity();this.starName = hotel.getStarName();this.business = hotel.getBusiness();//整合地理对象和es中的mappings保持一致this.location = hotel.getLatitude() + "," + hotel.getLongitude();this.pic = hotel.getPic();}
}
3. 向es中插入数据
//向es中插入数据@GetMapping("inserDoc")public void inserDoc() throws IOException {List<Hotel> hotels = hotelMapper.selectList(null);for (int i = 0; i < hotels.size(); i++) {//doc准备Hotel hotel = hotels.get(i);HotelDoc hotelDoc = new HotelDoc(hotel);//准备request对象IndexRequest request = new IndexRequest("hotel").id(hotel.getId().toString());//本人使用的是7.8.0版本,但是依赖用的是6.8.6,因此加入默认的type类型为:_doc,否则会插入失败request.type("_doc");//准备json文档request.source(JSON.toJSONString(hotelDoc),XContentType.JSON);//发送请求restHighLevelClient.index(request,RequestOptions.DEFAULT);}}

4. 根据文档id查询文档记录
@GetMapping("getDocById")public void getDocById() throws IOException {//1. 创建request对象GetRequest request = new GetRequest("hotel");request.id("1");//doc = 1request.type("_doc");//2.发送请求GetResponse response = restHighLevelClient.get(request, RequestOptions.DEFAULT);String json = response.getSourceAsString();System.out.println(json);}
2023-06-23 13:14:21.142 INFO 11932 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms
{"address":"柳州东路1号","brand":"如家","business":"弘阳商圈","city":"南京市浦口区","id":1,"location":"33.33,131.33","name":"如家","pic":"http://www.bai.com/images/rujia.png","price":189,"score":7,"starName":"二星级"}
Disconnected from the target VM, address: '127.0.0.1:64333', transport: 'socket'
5 根据文档id更新文档
忍不了,升级了依赖到7.8.0
// 根据id修改数据@GetMapping("updateDocById")public void updateDocById() throws IOException {//1. 创建request对象UpdateRequest request = new UpdateRequest("hotel","1");request.doc("name","jack","age",22);//2.发送请求UpdateResponse update = restHighLevelClient.update(request, RequestOptions.DEFAULT);System.out.println(update.getResult());}
更新结果
2024-06-23 13:31:42.279 INFO 13972 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2024-06-23 13:31:42.279 INFO 13972 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2024-06-23 13:31:42.281 INFO 13972 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms
UPDATED
2024-06-23 13:32:08.321 ERROR 13972 --- [rRegistryThread] c.xxl.job.core.util.XxlJobRemotingUtil : Connection refused: connect

6 删除文档
//删除文档@GetMapping("delDocById")public void delDocById() throws IOException {//1. 创建request对象DeleteRequest request = new DeleteRequest("hotel","1");//2.发送请求DeleteResponse delete = restHighLevelClient.delete(request, RequestOptions.DEFAULT);System.out.println(delete.getResult());}
删除成功
2024-06-23 13:36:22.696 INFO 19580 --- [rRegistryThread] c.x.j.c.thread.ExecutorRegistryThread : >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='myXxlJob', registryValue='http://192.168.1.15:8088/'}, registryResult:ReturnT [code=500, msg=xxl-rpc remoting error(Connection refused: connect), for url : http://localhost:18080/xxl-job-admin/api/registry, content=null]
DELETED
2024-06-23 13:36:54.769 ERROR 19580 --- [rRegistryThread] c.xxl.job.core.util.XxlJobRemotingUtil : Connection refused: connect
7 批量导入
//批量数据导入@GetMapping("batchInsert")public void batchInsert() throws IOException {List<Hotel> hotels = hotelMapper.selectList(null);BulkRequest request = new BulkRequest();for (int i = 0; i < hotels.size(); i++) {request.add(new IndexRequest("hotel").id(hotels.get(i).getId().toString()).source(JSON.toJSONString(hotels.get(i)),XContentType.JSON));}BulkResponse bulk = restHighLevelClient.bulk(request, RequestOptions.DEFAULT);System.out.println(bulk.status());System.out.println(bulk.getTook());}
插入成功
2024-06-23 13:45:46.866 WARN 13928 --- [nio-8080-exec-2] com.zaxxer.hikari.util.DriverDataSource : Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation.
2024-06-23 13:45:46.955 INFO 13928 --- [nio-8080-exec-2] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
OK
73ms
2024-06-23 13:45:58.035 ERROR 13928 --- [rRegistryThread] c.xxl.job.core.util.XxlJobRemotingUtil : Connection refused: connect

相关文章:
3. 向索引库中导入数据
1. 准备数据库对象 import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstr…...
java-冒泡排序 2
### 9. 冒泡排序的变种冒泡排序有许多变种,例如鸡尾酒排序(Cocktail Shaker Sort),它是冒泡排序的双向版本。鸡尾酒排序在每次遍历时,先从左到右,再从右到左,双向 地“冒泡”,使得排…...
记一次面试
Linux查日志,怎么把最后1000行写到另一个文件中 在Linux中,如果你想要查看日志文件的最后1000行并将其写入到另一个文件中,你可以使用tail命令。tail命令默认用于输出文件的最后几行。 以下是如何使用tail命令将日志文件的最后1000行写入到另…...
Linux提升篇-正则表达式
文章目录 前言一、基本正则表达式基本正则表达式(BRE)集合 二、扩展正则表达式扩展正则表达式(ERE)集合 总结 前言 今天要分享的内容是正则表达式,完美掌握正则表达式,才能更好地使用"三剑客"来…...
专利、论文免费检索
数字资源 - 资源导航 - 深圳图书馆 (szlib.org.cn)https://www.szlib.org.cn/digitalResource/index.html...
【Qt】QSettings使用
1. 介绍 QSettings类提供持久的跨平台的应用程序设置存储。 2. 使用 /*********************************************************/ /* main.cpp */ int main(int argc, char *argv[]) {QApplication a(argc, argv);MainWindow w;//Settings设置a.setOrganizationName(&quo…...
Js逆向爬虫基础篇
这里写自定义目录标题 逆向技巧断点一 、请求入口定位1. 关键字搜索2. 请求堆栈3. hook4. JSON.stringify 二、响应入口定位:1. 关键字搜索2. hook3. JSON.parse 逆向技巧 断点 普通断点 条件断点 日志断点 XHR断点 一 、请求入口定位 1. 关键字搜索 key关…...
同步时钟系统为何能成为机场时间管理的好伙伴?
在机场这个分秒必争的环境中,精准的时间管理至关重要。同步时钟系统的出现,成为了机场时间管理的得力助手,为机场的高效运行和服务质量的提升发挥了关键作用。 一、同步时钟系统简介 同步时钟系统是一种通过网络技术实现时间同步的高精度计时…...
Robust semi-supervised segmentationwith timestep ensembling diffusion models
时间步合成扩散模型的鲁棒半监督分割 摘要 医学图像分割是一项具有挑战性的任务,由于许多数据集的大小和注释的限制,使得分割更加困难。消噪扩散概率模型(DDPM)最近在模拟自然图像的分布方面显示出前景,并成功地应用于各种医学成像任务。这…...
如何迁移R包
迁移R包涉及将一个或多个R包从一个系统转移到另一个系统。以下是迁移R包的详细步骤: 1. 确定要迁移的R包 首先,列出你在当前系统中安装的所有R包,或仅列出你需要迁移的R包。你可以使用以下代码列出所有安装的R包: installed_pa…...
如何在next14项目中加入favicon
如何在next14项目中加入favicon 第一次碰见这个问题的时候很头疼,直接搜官方文档也没有详细介绍这个,但其实next14提供了很简单的方法: Convention 将 favicon.ico 放置在 app/ 或 public/ 文件夹中,Next.js 将自动生成必要的元…...
【深度学习】基础数据结构+访问
目录 深度学习中的基础数据结构1. N维数组定义特点访问元素 2. 机器学习中常用的数据结构N维数组示例 3. 数学中的访问操作带跳转的子区域访问示例 4. 数学中的访问操作4.1 一维数组(向量)访问一个区间带步长的区间访问 4.2 二维数组(矩阵&am…...
一个产品需求工程师繁忙的一天
早晨:开启新的一天 7:00 AM - 起床 早晨七点准时起床。洗漱、早餐后,查看手机上的邮件和消息,提前了解今天的工作安排和优先事项。 8:00 AM - 前往公司 坐地铁前往公司。在地铁上,习惯性地阅读一些行业资讯和市场报告࿰…...
MD5加密接口
签名算法 app_key和app_secret由对方系统提供 MD5_CALCULATE_HASH_FOR_CHAR(中文加密与JAVA不一致) 代码: *获取传输字段名的ASCII码,根据ASCII码对字段名进行排序SELECT * FROM zthr0051WHERE functionid iv_functionidINTO …...
AI大模型日报#0626:首款大模型芯片挑战英伟达、面壁智能李大海专访、大模型测试题爆火LeCun点赞
导读:AI大模型日报,爬虫LLM自动生成,一文览尽每日AI大模型要点资讯!目前采用“文心一言”(ERNIE-4.0-8K-latest)生成了今日要点以及每条资讯的摘要。欢迎阅读!《AI大模型日报》今日要点…...
专业技能篇---计算机网络
文章目录 前言计算机网络基础一、网络分层模型 HTTP一、从输入URL到页面显示发生了什么?二、Http的状态码有哪些?三、 HTTP与HTTPS有什么区别?四、URI 和 URL 的区别是什么?五、Cookie和Session有什么区别?六、GET与POST WebSock…...
Matlab|【免费】含氢气氨气综合能源系统优化调度
目录 主要内容 部分代码 结果一览 下载链接 主要内容 该程序参考《_基于氨储能技术的电转氨耦合风–光–火综合能源系统双层优化调度》模型,对制氨工厂、风力发电、电制氢、燃气轮机、火电机组等主体进行建模分析,以火电机组启停成本、煤耗…...
python的一些常用的内建函数
内建函数 python中的内建函数是可以被自动加载的,可以随时调用这些函数,不 需要定义。方便的编程。 eval()函数 将字符串当成有效的表达式来求值,并返回计算结果 用于对动态表达式求值,语法格式如下: eval(source&…...
Docker部署常见应用之Oracle数据库
文章目录 安装部署参考文章 安装部署 使用Docker安装Oracle数据库是一个相对简便的过程,可以避免在本地环境中直接安装Oracle数据库的复杂性。 安装Docker环境:确保你的系统上已经安装了Docker,并且Docker服务正在运行。具体的安装方法可以根…...
小程序中echarts的bug
这个文字在手机上显示会有黑的的阴影 textStyle: {fontSize: 12,wrap: true,textShadowColor: "#fff", // 文字本身的阴影颜色textShadowBlur: 10, // 文字本身的阴影长度textShadowOffsetX: 10, // 文字本身的阴影X偏移textShadowOffsetY: 10, //阴影Y偏移}...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
使用SSE解决获取状态不一致问题
使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件,这个上传文件是整体功能的一部分,文件在上传的过程中…...
JS红宝书笔记 - 3.3 变量
要定义变量,可以使用var操作符,后跟变量名 ES实现变量初始化,因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符,可以创建一个全局变量 如果需要定义…...
高效的后台管理系统——可进行二次开发
随着互联网技术的迅猛发展,企业的数字化管理变得愈加重要。后台管理系统作为数据存储与业务管理的核心,成为了现代企业不可或缺的一部分。今天我们要介绍的是一款名为 若依后台管理框架 的系统,它不仅支持跨平台应用,还能提供丰富…...
