Elasticsearch7.6 + SpringBoot即可实现查询及高亮分词查询
发布时间:2022-01-27 14:02:37

1-22012G40559321.jpg


请提前准备好Elasticsearch 7.6以及ik分词器的环境,如果还没准备好的可以先看看。


集成环境准备


1.导入spring-data-elasticsearch依赖


版本需要与Elasticsearch一致,还需要注意自己的springboot版本是否支持


本文springboot为2.3,依赖也为2.3,elasticsearch为7.6.2


1-22012G40614303.jpg


2.elasticsearch配置文件


因为原来的配置不支持了


1-22012G40623409.jpg


配置文件如下:


3.实体类准备


关于实体类中的几个注解,不清楚的可以去查看文档,这里不过多介绍了


4.Elasticsearch Service准备


第一个就是所准备的实体类,第二个是id的类型


继承完这个会提供最基本的增删改查方法,也可以自己定义一些,自己定义的方法命名需要符合规则,并不需要自己去实现


简单查询


这里直接使用假数据并没有连接数据库,还需要注意几个点:


elasticsearchTemplate需要采用ElasticsearchRestTemplate 原来的已经过时了


elasticsearch的mapping没有自动生成,这导致了我们在实体类中指定的分词器没有生效,所以我在导入数据的同时,手动导入了mapping


LogAnnotation是我自定义的注解,大家可以直接去掉


controller如下:


测试结果:


1-22012G40A0525.jpg

1-22012G40G35I.jpg

1-22012G40HX20.jpg

1-22012G40J2D1.jpg


分词高亮查询


测试结果:


1-22012G40P3201.jpg


最近面试BAT,整理一份面试资料《Java面试BATJ通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。


来源:小哈学Java

咨询电话
400-068-1180