商城项目---畅购chapter05(第五天)

第五章的内容使用Elasticsearch做搜索引擎,之前用的Solar做搜索都是模模糊糊的,这个在Linux操作部署的这个过程到简单 了不少,这个安装和启动elasticsearch都挺麻烦的,还有kibana分词器,不过这些这个虚拟机都装好了,并且都有自动启动,所以光改一下IP就可以了,相对部署安装过程是简单了不少。

商城项目---畅购chapter05(第五天)

这些安装的步骤其实都不用去写的,虚拟机都集成好了,什么都不用装,环境都搭建好了,省时省力多块好省

商城项目---畅购chapter05(第五天)

 

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

修改网关要先停掉服务,这个步骤非常重要,因为这个虚拟机里面继承的IP是原来的IP这个时候你必须要改成你自己虚拟机的IP才可以

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

这些配置文件熟悉一下就可以了,其实虚拟机里面基本都改好了

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

 

这个分词器也不用下载了,虚拟机里面也装好了都有所有的环境,解压都不用解压

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

如果没有虚拟机的可以点我个人头像看我的资源里面上传的有这个虚拟机镜像

测试分词结果

商城项目---畅购chapter05(第五天)

所有服务启动安装正常

商城项目---畅购chapter05(第五天)

这个语句也是相对比较简单的

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

注意一下这个kibnan的IP一定要换成本机的IP所以这个里面的docker要重新安装一下Kibnan

注意重新安装的的时候:9200的端口号不要忘记了不然Discover就会识别不到ElasticSeach

商城项目---畅购chapter05(第五天)

Kibnan启动成功

商城项目---畅购chapter05(第五天)

进行索引库的测试

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

下面就是一些DSL语句的测试,这个之前做项目的时候中文识别有问题,推荐有火狐浏览器,这个语句基本就不会出现什么问题

一个注意点就是,冒号右边一定要留有空格

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

 

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

 

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

再次查询之后查询不到

商城项目---畅购chapter05(第五天)

查所有

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

创建changgou-service-search-api这个是创建微服务,顺序要搞清楚

引入POM坐标

商城项目---畅购chapter05(第五天)

接下来又是Maven冲突这个冲突不得不说很烦人,有时候是编译器的问题,有时候是没刷新过来

商城项目---畅购chapter05(第五天)

点一些Lifcycle里面的编译 ,编译之后可以看出没有任何问题

商城项目---畅购chapter05(第五天)

继续往下进行即可创建搜索微服务

商城项目---畅购chapter05(第五天)

添加依赖

商城项目---畅购chapter05(第五天)

编写启动类(启动类后期可能要进行一些修改)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

商城项目---畅购chapter05(第五天)

创建SkuInfo类,这个实际就是创建一个JavaBean

商城项目---畅购chapter05(第五天)

创建Feign方便接口调用(这个其实也要在changgou-service-goods)里面也要定义一个Feign

商城项目---畅购chapter05(第五天)

修改启动类

商城项目---畅购chapter05(第五天)

下明就是编写Controller,Service,Dao了,基本的操作大同小异

Controller

商城项目---畅购chapter05(第五天)

Service:

商城项目---畅购chapter05(第五天)

Dao:

商城项目---畅购chapter05(第五天)

测试导入成功

商城项目---畅购chapter05(第五天)

回到Elasticsearch中进行查看

商城项目---畅购chapter05(第五天)

 

生成动态域,这个是比较麻烦,Service比较恶心,一些类名都不清楚,不过存储的过程和Mysql类似,基本上不难

照着敲,后面就慢慢理解了

商城项目---畅购chapter05(第五天)

测试结果

商城项目---畅购chapter05(第五天)

编写搜索微服务的查询

商城项目---畅购chapter05(第五天)

Controller:

商城项目---畅购chapter05(第五天)

测试结果:

商城项目---畅购chapter05(第五天)

 

商城项目---畅购chapter05(第五天)

 

下面这个是分组查询的,只要上面那个动态生成域搞明白了这个就不难了

Service:

商城项目---畅购chapter05(第五天)

测试结果

商城项目---畅购chapter05(第五天)

这个接口基本照着讲义都可以完成,没有什么特别的难题