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

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. 冒泡排序的变种冒泡排序有许多变种&#xff0c;例如鸡尾酒排序&#xff08;Cocktail Shaker Sort&#xff09;&#xff0c;它是冒泡排序的双向版本。鸡尾酒排序在每次遍历时&#xff0c;先从左到右&#xff0c;再从右到左&#xff0c;双向 地“冒泡”&#xff0c;使得排…...

记一次面试

Linux查日志&#xff0c;怎么把最后1000行写到另一个文件中 在Linux中&#xff0c;如果你想要查看日志文件的最后1000行并将其写入到另一个文件中&#xff0c;你可以使用tail命令。tail命令默认用于输出文件的最后几行。 以下是如何使用tail命令将日志文件的最后1000行写入到另…...

Linux提升篇-正则表达式

文章目录 前言一、基本正则表达式基本正则表达式&#xff08;BRE&#xff09;集合 二、扩展正则表达式扩展正则表达式&#xff08;ERE&#xff09;集合 总结 前言 今天要分享的内容是正则表达式&#xff0c;完美掌握正则表达式&#xff0c;才能更好地使用"三剑客"来…...

专利、论文免费检索

数字资源 - 资源导航 - 深圳图书馆 (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 二、响应入口定位&#xff1a;1. 关键字搜索2. hook3. JSON.parse 逆向技巧 断点 普通断点 条件断点 日志断点 XHR断点 一 、请求入口定位 1. 关键字搜索 key关…...

同步时钟系统为何能成为机场时间管理的好伙伴?

在机场这个分秒必争的环境中&#xff0c;精准的时间管理至关重要。同步时钟系统的出现&#xff0c;成为了机场时间管理的得力助手&#xff0c;为机场的高效运行和服务质量的提升发挥了关键作用。 一、同步时钟系统简介 同步时钟系统是一种通过网络技术实现时间同步的高精度计时…...

Robust semi-supervised segmentationwith timestep ensembling diffusion models

时间步合成扩散模型的鲁棒半监督分割 摘要 医学图像分割是一项具有挑战性的任务&#xff0c;由于许多数据集的大小和注释的限制&#xff0c;使得分割更加困难。消噪扩散概率模型(DDPM)最近在模拟自然图像的分布方面显示出前景&#xff0c;并成功地应用于各种医学成像任务。这…...

如何迁移R包

迁移R包涉及将一个或多个R包从一个系统转移到另一个系统。以下是迁移R包的详细步骤&#xff1a; 1. 确定要迁移的R包 首先&#xff0c;列出你在当前系统中安装的所有R包&#xff0c;或仅列出你需要迁移的R包。你可以使用以下代码列出所有安装的R包&#xff1a; installed_pa…...

如何在next14项目中加入favicon

如何在next14项目中加入favicon 第一次碰见这个问题的时候很头疼&#xff0c;直接搜官方文档也没有详细介绍这个&#xff0c;但其实next14提供了很简单的方法&#xff1a; Convention 将 favicon.ico 放置在 app/ 或 public/ 文件夹中&#xff0c;Next.js 将自动生成必要的元…...

【深度学习】基础数据结构+访问

目录 深度学习中的基础数据结构1. N维数组定义特点访问元素 2. 机器学习中常用的数据结构N维数组示例 3. 数学中的访问操作带跳转的子区域访问示例 4. 数学中的访问操作4.1 一维数组&#xff08;向量&#xff09;访问一个区间带步长的区间访问 4.2 二维数组&#xff08;矩阵&am…...

一个产品需求工程师繁忙的一天

早晨&#xff1a;开启新的一天 7:00 AM - 起床 早晨七点准时起床。洗漱、早餐后&#xff0c;查看手机上的邮件和消息&#xff0c;提前了解今天的工作安排和优先事项。 8:00 AM - 前往公司 坐地铁前往公司。在地铁上&#xff0c;习惯性地阅读一些行业资讯和市场报告&#xff0…...

MD5加密接口

签名算法 app_key和app_secret由对方系统提供 MD5_CALCULATE_HASH_FOR_CHAR&#xff08;中文加密与JAVA不一致&#xff09; 代码&#xff1a; *获取传输字段名的ASCII码&#xff0c;根据ASCII码对字段名进行排序SELECT * FROM zthr0051WHERE functionid iv_functionidINTO …...

AI大模型日报#0626:首款大模型芯片挑战英伟达、面壁智能李大海专访、大模型测试题爆火LeCun点赞

导读&#xff1a;AI大模型日报&#xff0c;爬虫LLM自动生成&#xff0c;一文览尽每日AI大模型要点资讯&#xff01;目前采用“文心一言”&#xff08;ERNIE-4.0-8K-latest&#xff09;生成了今日要点以及每条资讯的摘要。欢迎阅读&#xff01;《AI大模型日报》今日要点&#xf…...

专业技能篇---计算机网络

文章目录 前言计算机网络基础一、网络分层模型 HTTP一、从输入URL到页面显示发生了什么&#xff1f;二、Http的状态码有哪些&#xff1f;三、 HTTP与HTTPS有什么区别&#xff1f;四、URI 和 URL 的区别是什么?五、Cookie和Session有什么区别&#xff1f;六、GET与POST WebSock…...

Matlab|【免费】含氢气氨气综合能源系统优化调度

目录 主要内容 部分代码 结果一览 下载链接 主要内容 该程序参考《_基于氨储能技术的电转氨耦合风–光–火综合能源系统双层优化调度》模型&#xff0c;对制氨工厂、风力发电、电制氢、燃气轮机、火电机组等主体进行建模分析&#xff0c;以火电机组启停成本、煤耗…...

python的一些常用的内建函数

内建函数 python中的内建函数是可以被自动加载的&#xff0c;可以随时调用这些函数&#xff0c;不 需要定义。方便的编程。 eval()函数 将字符串当成有效的表达式来求值&#xff0c;并返回计算结果 用于对动态表达式求值&#xff0c;语法格式如下&#xff1a; eval(source&…...

Docker部署常见应用之Oracle数据库

文章目录 安装部署参考文章 安装部署 使用Docker安装Oracle数据库是一个相对简便的过程&#xff0c;可以避免在本地环境中直接安装Oracle数据库的复杂性。 安装Docker环境&#xff1a;确保你的系统上已经安装了Docker&#xff0c;并且Docker服务正在运行。具体的安装方法可以根…...

小程序中echarts的bug

这个文字在手机上显示会有黑的的阴影 textStyle: {fontSize: 12,wrap: true,textShadowColor: "#fff", // 文字本身的阴影颜色textShadowBlur: 10, // 文字本身的阴影长度textShadowOffsetX: 10, // 文字本身的阴影X偏移textShadowOffsetY: 10, //阴影Y偏移}...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

多元隐函数 偏导公式

我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式&#xff0c;给定一个隐函数关系&#xff1a; F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 &#x1f9e0; 目标&#xff1a; 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z​、 …...

【工具教程】多个条形码识别用条码内容对图片重命名,批量PDF条形码识别后用条码内容批量改名,使用教程及注意事项

一、条形码识别改名使用教程 打开软件并选择处理模式&#xff1a;打开软件后&#xff0c;根据要处理的文件类型&#xff0c;选择 “图片识别模式” 或 “PDF 识别模式”。如果是处理包含条形码的 PDF 文件&#xff0c;就选择 “PDF 识别模式”&#xff1b;若是处理图片文件&…...

RKNN开发环境搭建2-RKNN Model Zoo 环境搭建

目录 1.简介2.环境搭建2.1 启动 docker 环境2.2 安装依赖工具2.3 下载 RKNN Model Zoo2.4 RKNN模型转化2.5编译C++1.简介 RKNN Model Zoo基于 RKNPU SDK 工具链开发, 提供了目前主流算法的部署例程. 例程包含导出RKNN模型, 使用 Python API, CAPI 推理 RKNN 模型的流程.   本…...

【threejs】每天一个小案例讲解:创建基本的3D场景

代码仓 GitHub - TiffanyHoo/three_practices: Learning three.js together! 可自行clone&#xff0c;无需安装依赖&#xff0c;直接liver-server运行/直接打开chapter01中的html文件 运行效果图 知识要点 核心三要素 场景&#xff08;Scene&#xff09; 使用 THREE.Scene(…...

Java毕业设计:办公自动化系统的设计与实现

JAVA办公自动化系统 一、系统概述 本办公自动化系统基于Java EE平台开发&#xff0c;实现了企业日常办公的数字化管理。系统包含文档管理、流程审批、会议管理、日程安排、通讯录等核心功能模块&#xff0c;采用B/S架构设计&#xff0c;支持多用户协同工作。系统使用Spring B…...