学成在线-第11天-讲义-搜索服务1课程搜索需求分析1.1需求分析1、根据分类搜索课程信息。2、根据关键字搜索课程信息,搜索方式为全文检索,关键字需要匹配课程的名称、课程内容。3、根据难度等级搜索课程。4、搜索结点分页显示。1.2搜索流程北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-90901、课程管理服务将数据写到MySQL数据库2、使用Logstash将MySQL数据库中的数据写到ES的索引库。3、用户在前端搜索课程信息,请求到搜索服务。4、搜索服务请求ES搜索课程信息。2全文检索技术研究参考:elasticsearch研究.md研究ElasticSearch搜索方法。3课程索引3.1技术方案如何维护课程索引信息?1、当课程向MySQL添加后同时将课程信息添加到索引库。采用Logstach实现,Logstach会从MySQL中将数据采集到ES索引库。2、当课程在MySQL更新信息后同时更新该课程在索引库的信息。采用Logstach实现。3、当课程在MySQL删除后同时将该课程从索引库删除。手工写程序实现,在删除课程后将索引库中该课程信息删除。3.2准备课程索引信息北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-90903.2准备课程索引信息课程发布成功在MySQL数据库存储课程发布信息,此信息作为课程索引信息。3.2.1创建课程发布表课程信息分布在course_base、course_pic等不同的表中。课程发布成功为了方便进行索引将这几张表的数据合并在一张表中,作为课程发布信息。创建course_pub表3.2.2创建课程发布表模型在课程管理服务创建模型:@Data@ToString@Entity@Table(name="course_pub")@GenericGenerator(name="jpa‐assigned",strategy="assigned")publicclassCoursePubimplementsSerializable{privatestaticfinallongserialVersionUID=‐916357110051689487L;@Id@GeneratedValue(generator="jpa‐assigned")@Column(length=32)privateStringid;北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-90903.2.3修改课程发布在课程管理服务定义dao:1)创建course_pub表的dao2)修改课程发布serviceprivateStringname;privateStringusers;privateStringmt;privateStringst;privateStringgrade;privateStringstudymodel;privateStringteachmode;privateStringdescription;privateStringpic;//图片privateDatetimestamp;//时间戳privateStringcharge;privateStringvalid;privateStringqq;privateFloatprice;privateFloatprice_old;privateStringexpires;privateStringteachplan;//课程计...