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

Elasticsearch7.6 + SpringBoot即可实现查询及高亮分词查询(图1)


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


集成环境准备


1.导入spring-data-elasticsearch依赖


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


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


Elasticsearch7.6 + SpringBoot即可实现查询及高亮分词查询(图2)


2.elasticsearch配置文件


因为原来的配置不支持了


Elasticsearch7.6 + SpringBoot即可实现查询及高亮分词查询(图3)


配置文件如下:


3.实体类准备


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


4.Elasticsearch Service准备


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


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


简单查询


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


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


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


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


controller如下:


测试结果:


Elasticsearch7.6 + SpringBoot即可实现查询及高亮分词查询(图4)

Elasticsearch7.6 + SpringBoot即可实现查询及高亮分词查询(图5)

Elasticsearch7.6 + SpringBoot即可实现查询及高亮分词查询(图6)

Elasticsearch7.6 + SpringBoot即可实现查询及高亮分词查询(图7)


分词高亮查询


测试结果:


Elasticsearch7.6 + SpringBoot即可实现查询及高亮分词查询(图8)


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


来源:小哈学Java

咨询电话
400-068-1180