前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >5分钟_SpringBoot集成ES实现存储、查询

5分钟_SpringBoot集成ES实现存储、查询

作者头像
趣学程序-shaofeer
发布2023-09-09 08:46:48
1670
发布2023-09-09 08:46:48
举报
文章被收录于专栏:upuptop的专栏upuptop的专栏

5分钟_SpringBoot集成ES实现存储、查询

当前文章使用ES版本为6.4.3,SpringBoot版本为:2.1.8.RELEASE spring-boot-starter-data-elasticsearch本为:2.1.8.RELEASE

spring-boot-starter-data-elasticsearch介绍

spring-boot-starter-data-elasticsearch:是springboot整合es的一个快速开发包。用过JPA的朋友应该知道,springdata是通过解析方法名来实现查询数据库的。同样的这个快速开发包也是大大简化了Java使用es的流程。

ik分词器

IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。也可以引入其他的中文分词器,本文使用IK分词器,注意:IK分词器的版本号,要与ES的版本一致,如不一致则无法启动。 如果不引入中文分词器,那么ES会默认将每一个中文都会进行分词,不会智能组词。

下载地址: https://github.com/medcl/elasticsearch-analysis-ik/releases

源代码: https://github.com/medcl/elasticsearch-analysis-ik

搭建springBoot工程

导入依赖

可以在创建工程时候进行选择web、ES的依赖,也可以手动进行添加。

•创建工程时候勾选

手动添加

代码语言:javascript
复制

编写配置

application.yml

代码语言:javascript
复制

编写代码

实体类 TestBean

代码语言:javascript
复制

DAO层 TestDao

代码语言:javascript
复制

Service层,TestService (面向接口编程)

代码语言:javascript
复制

service的实现 TestServiceImpl

代码语言:javascript
复制

TestController

代码语言:javascript
复制

测试

启动程序会自动创建testdoc索引库

通过kibana查看:

调用项目接口: http://localhost:8080/testes/list

表示添加成功。

可以通过kibana界面查看并搜索数据,也可以直接调用我们自己写的findAll接口进行查询。

测试findByName: http://localhost:8080/testes/findByName

测试findByNameOrDesc: http://localhost:8080/testes/findByNameOrDesc?text=浩[1]

查询名字中或者desc中含有“浩”的数据

结语

这就是SpringBoot集成ES的基本步骤,相比较于自己引入ES的依赖要简单的很多。如果对你有帮助,请分享出去吧。 对于更多的JPA的方法命名规则请查看JPA官方介绍。大致上都和SQL语句差不多。

References

[1] http://localhost:8080/testes/findByNameOrDesc?text=浩: http://localhost:8080/testes/findByNameOrDesc?text=%E6%B5%A9

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 趣学程序 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 5分钟_SpringBoot集成ES实现存储、查询
    • spring-boot-starter-data-elasticsearch介绍
      • ik分词器
      • 搭建springBoot工程
        • 导入依赖
          • 编写配置
            • 编写代码
              • 测试
                • 结语
                  • References
                  相关产品与服务
                  对象存储
                  对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档