前言
该文章需要提前准备好Elasticsearch7.6以及ik分词器的环境,如果还没准备好的可以看看
https://blog.csdn.net/weixin_44102992/article/details/107954129
集成环境准备
1.导入spring-data-elasticsearch依赖
版本需要与Elasticsearch一致,还需要注意自己的springboot版本是否支持
本文springboot为2.3,依赖也为2.3,elasticsearch为7.6.2
2.elasticsearch配置文件
因为原来的配置不支持了
配置文件如下:
3.实体类准备
关于实体类中的几个注解,不清楚的可以去查看文档,这里不过多介绍了
4.Elasticsearch Service准备
第一个就是所准备的实体类,第二个是id的类型
继承完这个会提供最基本的增删改查方法,也可以自己定义一些,自己定义的方法命名需要符合规则,并不需要自己去实现
简单查询
这里直接使用假数据并没有连接数据库,还需要注意几个点:
elasticsearchTemplate需要采用ElasticsearchRestTemplate 原来的已经过时了
elasticsearch的mapping没有自动生成,这导致了我们在实体类中指定的分词器没有生效,所以我在导入数据的同时,手动导入了mapping
LogAnnotation是我自定义的注解,大家可以直接去掉
controller如下:
测试结果:
分词高亮查询
测试结果:
领取专属 10元无门槛券
私享最新 技术干货