当前文章使用ES版本为6.4.3,SpringBoot版本为:2.1.8.RELEASE spring-boot-starter-data-elasticsearch本为:2.1.8.RELEASE
spring-boot-starter-data-elasticsearch:是springboot整合es的一个快速开发包。用过JPA的朋友应该知道,springdata是通过解析方法名来实现查询数据库的。同样的这个快速开发包也是大大简化了Java使用es的流程。
IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。也可以引入其他的中文分词器,本文使用IK分词器,注意:IK分词器的版本号,要与ES的版本一致,如不一致则无法启动。 如果不引入中文分词器,那么ES会默认将每一个中文都会进行分词,不会智能组词。
下载地址: https://github.com/medcl/elasticsearch-analysis-ik/releases
源代码: https://github.com/medcl/elasticsearch-analysis-ik
可以在创建工程时候进行选择web、ES的依赖,也可以手动进行添加。
•创建工程时候勾选
•
手动添加
application.yml
实体类 TestBean
DAO层 TestDao
Service层,TestService (面向接口编程)
service的实现 TestServiceImpl
TestController
启动程序会自动创建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语句差不多。
[1]
http://localhost:8080/testes/findByNameOrDesc?text=浩: http://localhost:8080/testes/findByNameOrDesc?text=%E6%B5%A9
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有