springboot java 项目连接es
springboot java 项目连接es
介绍
小项目,没有引用es客户端,直接使用的http的方式进行连接的,方式比较简单,但是依赖较少,一个比较小的项目,部署方便
业务也很简单就是把数据库中的数据读到es中,然后在做几个接口读es中的数据
版本
es版本 6.8.11
springboot 2.6.3
java 8
依赖
只有web和mysql的依赖,别的不需要
这里就不作介绍了,如果有需要可以私信我
开始
配置
这个是放到yml文件中的配置 就是es的地址
es:url: http://127.0.0.1:9200/name: elasticpassword: 1234567890index: es_indexsearchSize: 1000version: 6.8.11
连接es
使用了这个类
RestTemplate restTemplate;
header
其中name和password就是配置中的
public HttpHeaders header() {HttpHeaders httpHeaders = new HttpHeaders();httpHeaders.setContentType(MediaType.APPLICATION_JSON);httpHeaders.set("authorization", "Basic " + (new BASE64Encoder().encode((name + ":" + password).getBytes()).replaceAll("\n", "")));return httpHeaders;
}
查询
esUrl 是es的地址
index 就是索引
param 就是参数
response.getBody() 返回的是一个json对象 自己根据内容解析一下即可
public JSONObject search(JSONObject param) {String url = esUrl + "/" + index + "/_search";HttpEntity httpEntity = new HttpEntity(param.toJSONString(), header());ResponseEntity<JSONObject> response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, JSONObject.class);return response.getBody();
}
删除
public void deleteById(String id) {String url = esUrl + "/" + index + "/_doc/" + id;restTemplate.delete(url);
}
更新
public JSONObject updateEsById(String id, JSONObject param) {String url = esUrl + "/" + index + "/_doc/" + id + "/_update";HttpEntity httpEntity = new HttpEntity(param.toJSONString(), header());ResponseEntity<JSONObject> response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, JSONObject.class);return response.getBody();}
保存
public void saveById(String id, JSONObject json) {String url = esUrl + "/" + index + "/_doc/" + id;HttpEntity httpEntity = new HttpEntity(json.toJSONString(), header());ResponseEntity<JSONObject> response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, JSONObject.class);JSONObject ret = response.getBody();
}
补充
不同的版本是有差异的,具体可以在使用中根据报错进行调整
举例
es6.*版本的更新语句是这样的
esUrl + "/" + index + "/_doc/" + id + "/_update";
es7.*的是这样的
esUrl + "/" + index + "/_update/" + id + "?refresh=true"
最后
整体的就是这样,其实主要是是restTemplate的使用,相对于es客户端使用比较简单一下(个人认为,主要是es用的不是很多)
如果大家有疑问和需要我可以后期就行补充
相关文章:
springboot java 项目连接es
springboot java 项目连接es 介绍 小项目,没有引用es客户端,直接使用的http的方式进行连接的,方式比较简单,但是依赖较少,一个比较小的项目,部署方便 业务也很简单就是把数据库中的数据读到es中…...
MySQL学习笔记3: MySQL数据库基础
目录 前言目标数据库操作(针对database 的操作)1. 创建数据库 create database 数据库名;2. 查看数据库 show databases;3. 选中数据库 use 数据库名;4. 删除数据库 drop database 数据库名; mysql中支持的数据类型1. 数值类型: NUMERIC(M,D)2. 字符串类…...
GB/T 17640-2023 长丝机织土工布检测
长丝机织土工布是指以合成纤维长丝为原料织制而成的土工布,按纤维品种分为涤纶、丙纶、锦纶 等长丝机织土工布;按用途分为反滤布、复合用基布、管袋布、模袋布等。 GB/T 17640-2023 长丝机织土工布测试项目: 测试要求 测试标准 经向抗拉强…...
MedicalGPT 训练医疗大模型,实现了包括增量预训练、有监督微调、RLHF(奖励建模、强化学习训练)和DPO(直接偏好优化)
MedicalGPT 训练医疗大模型,实现了包括增量预训练、有监督微调、RLHF(奖励建模、强化学习训练)和DPO(直接偏好优化)。 MedicalGPT: Training Your Own Medical GPT Model with ChatGPT Training Pipeline. 训练医疗大模型,实现了包括增量预训练、有监督微…...
UE4 C++联网RPC教程笔记(一)(第1~4集)
UE4 C联网RPC教程笔记(一)(第1~4集) 前言1. 教程介绍与资源2. 自定义 Debug 功能3. Actor 的复制4. 联网状态判断 前言 本系列笔记将会对梁迪老师的《UE4C联网RPC框架开发吃鸡》教程进行个人的知识点梳理与总结,此课程…...
备战蓝桥杯 Day11(滚动数组优化+完全背包)
01背包的滚动数组优化 【题目描述】 经典0—1背包问题,有n个物品,编号为i的物品的重量为w[i],价值为c[i],现在要从这些物品中选一些物品装到一个容量为m的背包中,使得背包内物体在总重量不超过m的前提下价值尽量大。 #include&…...
Java SE 入门到精通—4.抽象类与接口【Java】
抽象类 同接口一样,用来约束子类,限制子类必须拥有某些方法,比普通类多了个抽象方法,用抽象方法该类必为抽象类 概念 没有具体的对象,具体的方法的一个类 abstract关键字声明为抽象类/方法 一个类中有抽象方法则该…...
Python 开发转 Java 简易路线 - 更新中
有了 Python 开发基础,Java 的内容都可以快速过一遍,复杂地方跟着写一遍。 一、基础 1、Java 基础:尚硅谷 - Java基础 全部快速过一遍, 2、数据库:略。 着重 mysql 高级部分(针对面试)&…...
Python编程语言学习
1.Python 特点 Python是一种简单、易读、易学和高效的编程语言,具有以下特点: 简单易学:Python采用清晰简洁的语法,注重代码的可读性和可维护性,使得初学者能够快速上手并编写出清晰的代码。 面向对象:Py…...
Cartographer框架简述
catographer框架分为前端和后端 前端包括雷达数据处理;位姿预测;扫描匹配和栅格地图更新。 后端包括后端:线程池任务与调度;向位姿图添加节点,计算节点的子图内约束和子图间约束(回环检测)&…...
适用于 Linux、Windows 和 macOS 的免费 ONLYOFFICE 桌面应用程序
前言: 最近也是发现了一款特别好用的免费ONLYOFFICE 桌面应用程序忍不住分享给大家,这款编辑器能够打开、阅读和编辑多种文件类型,包括.docx文档、.pptx幻灯片和.xlsx表格等开放XML格式的Office文档。此外,ONLYOFFICE桌面编辑器还…...
C++面向对象程序设计-北京大学-郭炜【课程笔记(四)】
C面向对象程序设计-北京大学-郭炜【课程笔记(四)】 1、this指针1.1、this指针的作用1.2、this指针和静态成员函数 2、静态成员变量和静态成员函数2.1、基本概念2.2、基本概念总结2.3、如何访问静态成员2.4、静态成员变量的使用场景(重要&…...
前端构建效率优化之路
项目背景 我们的系统(一个 ToB 的 Web 单页应用)前端单页应用经过多年的迭代,目前已经累积有大几十万行的业务代码,30 路由模块,整体的代码量和复杂度还是比较高的。 项目整体是基于 Vue TypeScirpt,而构…...
react实现拖拽的插件
插件一:dnd-kit 插件官网链接https://docs.dndkit.com/introduction/installation 插件二:react-beautiful-dnd https://github.com/atlassian/react-beautiful-dnd/tree/master 两个插件的区别: 插件一可以做到从区域A拖住到区域B 插件二…...
解决Uncaught SyntaxError: Cannot use import statement outside a module(at XXX)报错
报错原因:这个错误通常是因为你正在尝试在一个不支持 ES6 模块语法的环境中使用 import 语句。这可能是因为你的代码是在一个只支持 CommonJS 或 AMD 模块系统的环境中运行的,或者你的代码运行的环境没有正确配置以支持 ES6 模块。如果是在浏览器环境&am…...
PHP如何利用post与get方式传值接收数据
目录 一、POST传值1. 使用curl库发送 POST 请求:2. 使用file_get_contents()函数发送 POST 请求:3. 使用stream_socket_client()函数发送 POST 请求:4. 利用from表单提交数据: 二、GET传值1. 使用http_build_query()函数构建 URL …...
在Mac上搭建MongoDB环境
最近工作中需要装MongoDB环境,搭建过程中遇到了一些问题,在这里记录一下安装MongoDB环境的方法以及问题的解决方法。有两种安装MongoDB的方法:brew安装和手动安装。 目录 使用Homebrew安装MongoDB 手动安装MongoDB(不使用Homebr…...
第三十九天| 62.不同路径、63. 不同路径 II
Leetcode 62.不同路径 题目链接:62 不同路径 题干:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “…...
提高代码质量的 10 条编码原则
提高代码质量的 10 条编码原则 本文转自 公众号 ByteByteGo,如有侵权,请联系,立即删除 今天来聊聊提高代码质量的 10 条编码原则。 软件开发需要良好的系统设计和编码标准。我们在下图中列出了 10 条良好的编码原则。 01 遵循代码规范 我们…...
SHERlocked93 的 2017 年终总结
回家的路上有点无聊,简短回顾一下2017年的得失收获 开始两个月3月到5月用C#完结了一个烂尾的wpf小项目,对自己前半年的.net生涯也算是一个句号(虽然不知道最后有没有采用),后面由于项目组转变技术栈,选择了…...
ChatGPT等大模型安全指南:从数据泄露防护到模型滥用防范的7个关键策略
大模型安全实战手册:7个维度构建企业级防护体系 当ChatGPT在2023年掀起生成式AI的浪潮时,某跨国咨询公司曾发生一起典型的数据泄露事件——工程师将包含客户隐私的对话记录误上传至公开代码库,导致3.2万条敏感数据暴露。这个案例揭示了大模型…...
EspNowBus:ESP32轻量级安全无线总线库
1. EspNowBus 项目概述 EspNowBus 是一个面向 ESP32 平台、以组(Group)为组织单元的轻量级 ESP-NOW 消息总线库,专为小型嵌入式无线网络(典型规模 ≈6 节点)设计。其核心工程目标并非追求最大吞吐或最广覆盖࿰…...
什么是GEO优化(生成式引擎优化)?一文讲透
# 什么是GEO优化(生成式引擎优化)?一文讲透GEO优化即生成式引擎优化,是面向豆包等AI大模型平台的新型营销优化方式,是AI时代企业抢占流量新入口的核心营销手段。沈阳锦恒智联信息科技有限公司是辽宁本地专业的GEO优化服…...
MCP服务器开发踩坑实录,深度解析asyncio+FastAPI+MCPv0.5兼容性难题及热修复方案
第一章:MCP服务器开发踩坑实录,深度解析asyncioFastAPIMCPv0.5兼容性难题及热修复方案在基于MCP(Model Context Protocol)v0.5规范构建异步AI服务代理时,我们发现FastAPI 0.115 与标准asyncio事件循环存在隐式冲突&…...
金蝶k3软件常用基础SQL数据表
金蝶软件常用基础SQL数据表SQL数据库 1、系统表 t_tabledescription2、字段表 t_fielddescription3、基础资料表(版本:10.3) t_item 其中fitemclassid值表示1-客户;2-部门;3-职员;4-商品;5-仓位…...
探索CELLxGENE:突破单细胞数据分析壁垒的交互可视化指南
探索CELLxGENE:突破单细胞数据分析壁垒的交互可视化指南 【免费下载链接】cellxgene An interactive explorer for single-cell transcriptomics data 项目地址: https://gitcode.com/gh_mirrors/ce/cellxgene 单细胞转录组学研究正以前所未有的分辨率揭示细…...
Proteus仿真C51单片机:用汇编实现一个简易的脉冲计数器(附完整代码和电路图)
Proteus仿真C51单片机:用汇编实现一个简易的脉冲计数器(附完整代码和电路图) 当你第一次接触单片机编程时,可能会被各种寄存器、中断和端口配置搞得晕头转向。今天,我们就用一个实实在在的脉冲计数器项目,带…...
3步实战指南:在Kodi上实现115网盘原码播放的完整方案
3步实战指南:在Kodi上实现115网盘原码播放的完整方案 【免费下载链接】115proxy-for-kodi 115原码播放服务Kodi插件 项目地址: https://gitcode.com/gh_mirrors/11/115proxy-for-kodi 115proxy-for-kodi插件是一款专为Kodi媒体中心设计的115网盘代理服务工具…...
Adams中利用AKISPL和DX函数实现非线性衬套力建模
1. 非线性衬套力建模的核心价值 在机械系统仿真中,非线性衬套力的精确建模直接影响着悬架、发动机支架等关键部件的动态特性分析精度。传统线性模型难以捕捉橡胶衬套、液压衬套等元件在真实工况下的力-位移关系,而Adams中的AKISPL和DX函数组合就像给工程…...
提升大语言模型对话体验:text-generation-webui全流程优化指南
提升大语言模型对话体验:text-generation-webui全流程优化指南 【免费下载链接】text-generation-webui A Gradio web UI for Large Language Models. Supports transformers, GPTQ, AWQ, EXL2, llama.cpp (GGUF), Llama models. 项目地址: https://gitcode.com/G…...
