XueChProject10(搜索管理)

一、课程搜索需求分析

1.1、需求分析

下图是搜索页面展示:

在这里插入图片描述

1、根据分类搜索课程信息。

2、根据关键字搜索课程信息,搜索方式为全文检索,关键字需要匹配课程的名称、 课程内容。

3、根据难度等级搜索课程。

4、搜索结点分页显示。

技术分析:
1、根据关键字搜索,采用MultiMatchQuery,搜索name、description、teachplan
2、根据分类、课程等级搜索采用过虑器实现。
3、分页查询。
4、高亮显示。

1.2、搜索流程

在这里插入图片描述

课程管理后台往MySQL添加课程信息,而用户则从ES中搜索,所以需要将MySQL的课程信息同步到索引库中。这个时候就需要一个组件,logstash,是ES官方提供的一款免费的开放的组件

1.3、技术方案分析

使用logstash可以使MySQL和ES之间的数据同步,但是不能实现同步删除,需要在service层里,手工编写代码实现。

二、课程索引(将mysql数据库信息同步到ES中)

2.1、准备coursePub表

在这里插入图片描述

时机是:发布课程后,才往索引库中同步。

具体操作是:将mysql中的关于课程的几张表查询出来后的对象,统一封装保存到CoursePub对象中,然后将该对象保存到数据库中。

在这里插入图片描述

2.2、logstash(时间戳和定时任务)

如下是logstash的原理:

通过MySQL表中的字段timestamp,第一次查询时的时间,会记录在文件系统中,第二次查的时候,会和timestamp的时间比较,如果文件系统中的时间小于现在查到的时间在这个之间,会添加索引数据。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值