在基于SpringBoot+SpringCloud的微服务架构项目中,我们在项目搭建过程中通常需要整合一些中间件来提升项目整体架构的功能。在我们做业务的时候,为了增加搜索效率,通常引入ElasticSearch中间件来进行开发,以下是整合流程。
项目背景:尚上优选
ElasticSearch版本:7.8.0
Kibana版本:7.8.0
ik分词器:7.8.0
步骤一:下载对应版本的ES等中间件(此项目以Windows系统环境为例)
ES:Past Releases of Elastic Stack Software | Elastic
Kibana:Kibana 7.8.0 | Elastic
ik分词器:
下载地址: Past Releases of Elastic Stack Software | Elastic将下载出来的压缩包解压至生产环境中(最好目录层级不要太深且路径中无中文,否则可能会出现一定的问题)
步骤二:安装ik分词器插件
将下载下来的ik分词器插件全部复制到es目录下的plugins文件夹中,可以自建一个文件夹,例如:
步骤三:修改kibana的配置文件并启动服务
因为我们下载的kibana并没有真正可以使用,配置文件需要进行修改,打开kibana目录下的config里面的kibana.yml文件,修改以下三处:
至此我们所有中间件的基本配置已经成功,下面打开ES目录下bin文件夹中的elasticsearch.bat文件(第一次可能较慢,等待即可)
打开浏览器,输入ES的服务地址,验证是否打开成功 (默认是localhost:9200)
出现以上页面即为打开成功,接着我们开启kibana,同样在kibana目录下的bin文件夹中,打开kibana.bat文件(注意,必须先成功启动ES服务,第一次打开耗时较长,等待即可)
提示以上内容代表成功,接下来我们在浏览器输入Kibana服务地址进行验证(默认为localhost:5601)
这样我们就可以使用kibana控制页面对我们的ES进行操作了。
步骤四:SpringBoot操作ES服务
因为我们操作ES数据库使用的是SpringBoot整合的ElasticsearchRepository,所以我们只需要创建一个接口继承Spring整合的接口,实现具体功能即可:
public interface SkuRepository extends ElasticsearchRepository<SkuEs,Long> { //泛型:①操作的实体类 ②主键的类型
}
注意,这里的泛型分别是:1. 我们ES所操作的主要实体类 2. 实体类中的主键类型
@Override
public void lowerSku(Long skuId) {
skuRepository.deleteById(skuId);
}
至此我们使用SpringBoot整合ES的简单流程已经完成,这样我们就可以根据业务需求进行简单修改,其中具体如何整合SpringCloud需要在有关的业务场景进行使用即可。
如有错误,麻烦各位积极评论,谢谢!