黑马程序员技术交流社区

标题: 【郑州校区】Java的新项目学成在线笔记-day11(一) [打印本页]

作者: 谷粒姐姐    时间: 2019-5-6 15:16
标题: 【郑州校区】Java的新项目学成在线笔记-day11(一)
本帖最后由 谷粒姐姐 于 2019-5-21 09:49 编辑

学成在线-第11天-讲义-搜索服务 1 课程搜索需求分析 1.1 需求分析

1、根据分类搜索课程信息。
2、根据关键字搜索课程信息,搜索方式为全文检索,关键字需要匹配课程的名称、 课程内容。
3、根据难度等级搜索课程。
4、搜索结点分页显示。
1.2 搜索流程


1、课程管理服务将数据写到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 准备课程索引信息
课程发布成功在MySQL数据库存储课程发布信息,此信息作为课程索引信息。 3.2.1创建课程发布表
课程信息分布在course_base、course_pic等不同的表中。
课程发布成功为了方便进行索引将这几张表的数据合并在一张表中,作为课程发布信息。
创建course_pub表


3.2.2创建课程发布表模型
在课程管理服务创建模型:

[AppleScript] 纯文本查看 复制代码
 
@Data @ToString
@Entity @Table(name="course_pub")
@GenericGenerator(name = "jpa‐assigned", strategy = "assigned") public class CoursePub implements Serializable {
    private static final long serialVersionUID = ‐916357110051689487L;   
@Id   
  @GeneratedValue(generator = "jpa‐assigned")   
  @Column(length = 32)
    private String id;
private String name;   
private String users;  
   private String mt;  
   private String st;
    private String grade;   
  private String studymodel;   
  private String teachmode;   
  private String description;  
   private String pic;//图片  
   private Date timestamp;//时间戳  
   private String charge;   
private String valid;   
  private String qq;   
  private Float price;   
  private Float price_old;  
  private String expires;   
private String teachplan;//课程计划
    @Column(name="pub_time")  
   private String pubTime;//课程发布时间 }







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2