SpringBoot 集成 Elasticsearch
一、版本
spring-boot版本:2.3.7.RELEASEElasticsearch7.8.0
版本说明详见
二、Elasticsearch 下载和安装
Elasticsearch 下载
kibana下载
ik分词器下载
配置IK分词器
2.1 解压,在elasticsearch-7.8.0\plugins 路径下新建ik目录
2.2 将ik分词器解压放入ik目录
2.3 扩展词汇测试示例
2.3.1 ik/config 目录下新建custom.dic文件
2.3.2 编辑custom.dic文件,加入新词汇
注意:custom.dic文件内容的格式的编码为UTF-8格式编码,否则会导致扩展词汇失效。
2.3.3 打开 IKAnalyzer.cfg.xml 文件,将新建的 custom.dic 配置其中,如下图
2.4 编辑kibana.yml ,修改kibana配置
三、新建Springboot项目,整合Elasticsearch并测试
3.1 加入依赖,配置
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
spring: main: allow-bean-definition-overriding: true elasticsearch:rest:uris: http://localhost:9200
3.2 新建实体类SkuEs
@Data
@Document(indexName = "skues" ,shards = 3,replicas = 1)
public class SkuEs {// 商品Id= skuId@Idprivate Long id;@Field(type = FieldType.Text, analyzer = "ik_max_word")private String keyword;@Field(type = FieldType.Integer, index = false)private Integer skuType;@Field(type = FieldType.Integer, index = false)private Integer isNewPerson;@Field(type = FieldType.Long)private Long categoryId;@Field(type = FieldType.Text)private String categoryName;@Field(type = FieldType.Keyword, index = false)private String imgUrl;// es 中能分词的字段,这个字段数据类型必须是 text!keyword 不分词!@Field(type = FieldType.Text)private String title;@Field(type = FieldType.Double)private Double price;@Field(type = FieldType.Integer, index = false)private Integer stock;@Field(type = FieldType.Integer, index = false)private Integer perLimit;@Field(type = FieldType.Integer, index = false)private Integer sale;@Field(type = FieldType.Long)private Long wareId;// 商品的热度!@Field(type = FieldType.Long)private Long hotScore = 0L;@Field(type = FieldType.Object, index = false)private List<String> ruleList;}
3.2 新建接口SkuRepository
public interface SkuRepository extends ElasticsearchRepository<SkuEs,Long> {}
3.3 测试
@Service
public class SkuServiceImpl implements SkuService {@Autowiredprivate SkuRepository skuRepository;@Overridepublic void upperSku(Long skuId) {// 3 调用方法添加ESSkuEs skuEs = new SkuEs();skuEs.setCategoryId(11111l);skuEs.setCategoryName("name");skuEs.setId(1123l);skuEs.setKeyword("keyword");skuEs.setWareId(1123l);skuEs.setIsNewPerson(12);skuEs.setImgUrl("url");skuEs.setTitle("SkuName");skuEs.setSkuType(0);skuEs.setPrice(123.1);skuEs.setStock(11);skuEs.setSale(21);skuEs.setPerLimit(123);skuRepository.save(skuEs);}
}
3.4 运行结果
打开kibana控制台:http://localhost:5601/app/kibana#/dev_tools/console
相关文章:

SpringBoot 集成 Elasticsearch
一、版本 spring-boot版本:2.3.7.RELEASEElasticsearch7.8.0版本说明详见 二、Elasticsearch 下载和安装 Elasticsearch 下载 kibana下载 ik分词器下载 配置IK分词器 2.1 解压,在elasticsearch-7.8.0\plugins 路径下新建ik目录 2.2 将ik分词器解压放…...
【ES】使用日志记录
1、修改操作 1、要删除Elasticsearch索引的分区下的数据 <index_name>是要删除数据的索引名称。这个命令会删除该索引下的所有数据。 POST /<index_name>/_delete_by_query {"query": {"match_all": {}} }2、删除特定条件下的数据 要删除a…...

svn还原本地代码
svn代码还原 问题描述:在vscode中修改了代码,没有提交,而且不小心点击了svn更新,导致本地修改的最新代码被覆盖,因为没有提交,所以远程仓库中也没有刚才修改的代码记录 解决: 通过vscode的时间…...

zore-shot,迁移学习和多模态学习
1.zero-shot 定义:在ZSL中,某一类别在训练样本中未出现,但是我们知道这个类别的特征,然后通过语料知识库,便可以将这个类别识别出来。概括来说,就是已知描述,对未知类别(未在训练集中…...

【Golang 接口自动化07】struct转map的三种方式
目录 背景 struct转map 使用json模块 使用reflect模块 使用第三方库 测试 总结 资料获取方法 背景 我们在前面介绍过怎么使用net/http发送json或者map数据,那么它能不能直接发送结构体数据呢?我们今天一起来学习结构体struct转map的三种方法&am…...

华为数通HCIA-网络模型
TCP 网络通信模式 作用:指导网络设备的通信; OSI七层模型: 7.应用层:由应用层协议(http、FTP、Telnet.)为应用程序产生对应的数据; 6.表示层:将应用层产生的数据转换成网络设备看…...
端口的解说
端口的定义 端口是指计算机与外部交互的出入口,可以按照所见性分为物理端口和虚拟端口 物理端口: USB、HDMI、PDP、VGA、CUP等虚拟端口:mysql——>25, ssh——>22 、http——>80 、https——>443等 IP地址只能锁定到计算机&am…...
“深入了解Spring Boot: 快速构建微服务应用的利器“
标题:深入了解Spring Boot: 快速构建微服务应用的利器 摘要: Spring Boot是一个基于Spring框架的开发工具,旨在提供快速、方便地构建微服务应用。本文将深入探讨Spring Boot的特点和优势,以及如何使用示例代码构建一个简单的微服…...

华为OD机试 Java 实现【批量处理任务】【2023 B卷 200分】,二分查找
目录 专栏导读一、题目描述二、输入描述三、输出描述四、二分查找五、解题思路六、Java算法源码七、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(…...

C# 2的幂
231 2的幂 给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n 2x ,则认为 n 是 2 的幂次方。 示例 1: 输入:n 1 输出&a…...
linux vi指令大全
vi 使用以及快捷键 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其…...
jdk8使用okhttp发送http2请求
本文主要用于工作记录,在项目中遇到了就记录一下 在早期,原生的JDK8是不支持HTTP/2协议的,所以,要想使用这个特性,需要有web服务器和应用环境的支持, 例如:在VM中增加-Xbootclasspath/p:/Users…...
virbr是什么设备
virbr是什么设备 virbr是一个虚拟桥接网络设备,通常由虚拟机管理程序(如 KVM、VirtualBox 或者 libvirt 等)创建和管理。它用于在宿主机和虚拟机之间进行网络连接,以便虚拟机可以通过宿主机访问网络。 默认情况,libv…...

MyBatis缓存-提高检索效率的利器--二级缓存
文章目录 缓存-提高检索效率的利器缓存-官方文档二级缓存基本介绍二级缓存原理图 二级缓存快速入门快速入门注意事项和使用陷阱理解二级缓存策略的参数 四大策略如何禁用二级缓存mybatis 刷新二级缓存的设置 缓存-提高检索效率的利器 缓存-官方文档 文档地址: https://mybati…...
开心档之CSS !important 规则
CSS !important 规则 CSS !important 规则 CSS是网页中最常用的样式语言,用来改变网页的颜色、字体、布局等等。但是当多个样式规则作用于同一个元素上时,由于优先级的差异,可能会出现样式被覆盖的情况。为了解决这个问题,CSS中提…...

深入篇【C++】手搓模拟实现list类(详细剖析底层实现原理)模拟实现正反向迭代器【容器适配器模式】
深入篇【C】手搓模拟实现list类(详细剖析底层实现原理)&& 模拟实现正反向迭代器【容器适配器模式】 Ⅰ.迭代器实现1.一个模板参数2.两个模板参数3.三个模板参数 Ⅱ.反向迭代器实现1.容器适配器模式 Ⅲ.list模拟实现1.定义结点2.封装结点3.构造/拷贝4.迭代器…...
OnTrigger的几种情况
在Unity中,OnTrigger是一种用于处理碰撞事件的函数。它通常用于监测对象之间的触发器(Collider)交互,并在特定的情况下触发相应的逻辑。在Unity中,有以下几种类型的OnTrigger事件:OnTriggerEnter、OnTrigge…...
地产变革中,物业等风来
2023年7月,也许是中国房地产行业变局中的一个大拐点。 中信建投研报表示,政治局会议指出当前我国房地产形势已发生重大变化,要适时调整优化政策,为行业形势定调……当前房地产行业β已至。 不久前,国家统计局公布了2…...

(五)springboot实战——springboot自定义事件的发布和订阅
前言 本节内容我们主要介绍一下springboot自定义事件的发布与订阅功能,一些特定应用场景下使用自定义事件发布功能,能大大降低我们代码的耦合性,使得我们应用程序的扩展更加方便。就本身而言,springboot的事件机制是通过观察者设…...
AVFoudation - 音频测量
文章目录 关于 metering使用关于 metering AVAudioPlayer 和 AVAudioRecorder 都有 metering 相关方法,用于音频测量 /* metering */@property(getter=isMeteringEnabled) BOOL meteringEnabled; /* turns level metering on or off. default is off. */ - (void)updateMet…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...

Ubuntu系统复制(U盘-电脑硬盘)
所需环境 电脑自带硬盘:1块 (1T) U盘1:Ubuntu系统引导盘(用于“U盘2”复制到“电脑自带硬盘”) U盘2:Ubuntu系统盘(1T,用于被复制) !!!建议“电脑…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
作者:来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布,Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明,Elastic 作为 …...
java+webstock
maven依赖 <dependency><groupId>org.java-websocket</groupId><artifactId>Java-WebSocket</artifactId><version>1.3.5</version></dependency><dependency><groupId>org.apache.tomcat.websocket</groupId&…...

安宝特方案丨从依赖经验到数据驱动:AR套件重构特种装备装配与质检全流程
在高压电气装备、军工装备、石油测井仪器装备、计算存储服务器和机柜、核磁医疗装备、大型发动机组等特种装备生产型企业,其产品具有“小批量、多品种、人工装配、价值高”的特点。 生产管理中存在传统SOP文件内容缺失、SOP更新不及、装配严重依赖个人经验、产品装…...

AI书签管理工具开发全记录(十八):书签导入导出
文章目录 AI书签管理工具开发全记录(十八):书签导入导出1.前言 📝2.书签结构分析 📖3.书签示例 📑4.书签文件结构定义描述 🔣4.1. 整体文档结构4.2. 核心元素类型4.3. 层级关系4.…...