CN112380416A - 一种更新课程索引的方法、课程搜索方法和装置 - Google Patents

一种更新课程索引的方法、课程搜索方法和装置 Download PDF

Info

Publication number
CN112380416A
CN112380416A CN202011342234.6A CN202011342234A CN112380416A CN 112380416 A CN112380416 A CN 112380416A CN 202011342234 A CN202011342234 A CN 202011342234A CN 112380416 A CN112380416 A CN 112380416A
Authority
CN
China
Prior art keywords
course
index
attribute
attributes
updating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011342234.6A
Other languages
English (en)
Inventor
朱海军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Muhua Information Technology Co ltd
Original Assignee
Beijing Muhua Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Muhua Information Technology Co ltd filed Critical Beijing Muhua Information Technology Co ltd
Priority to CN202011342234.6A priority Critical patent/CN112380416A/zh
Publication of CN112380416A publication Critical patent/CN112380416A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Databases & Information Systems (AREA)
  • Educational Technology (AREA)
  • Strategic Management (AREA)
  • Educational Administration (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供一种更新课程索引的方法、课程搜索方法和装置,该更新课程索引的方法包括:获取用于记录数据库中存储的课程属性的变化情况的日志数据,课程属性包括课程静态属性和/或课程动态属性;根据日志数据更新课程索引,课程索引包括课程静态属性索引和课程动态属性索引,课程静态属性索引是与课程静态属性对应的索引,课程动态属性索引是与课程动态属性对应的索引。借助于上述技术方案,相比于现有的对整个记录进行更新的方案,本申请实施例能够减少更新记录的数据量,减少了更新所使用的时间,进而提高了索引更新的效率。

Description

一种更新课程索引的方法、课程搜索方法和装置
技术领域
本申请涉及计算机应用领域,尤其涉及一种更新课程索引的方法、课程搜索方法和装置。
背景技术
随着互联网技术的发展,在线课程这种教学形式受到日益广泛的关注。在线课程以互联网网站或软件为平台,以授课视频为主要媒介,向互联网用户提供与传统课堂类似的教学内容。
为了保证现有的在线课程的搜索结果的精准性,就需要时常更新课程的索引。
在实现本发明的过程中,发明人发现现有技术中存在如下问题:由于索引更新无法实现记录中局部字段的更新,故在课程的部分属性发生变化的情况下,就需要对整个记录进行更新,从而引起了更新效率比较低的问题。
发明内容
本申请实施例的目的在于提供一种更新课程索引的方法、课程搜索方法和装置,以提高索引的更新效率。
第一方面,本申请实施例提供了一种更新课程索引的方法,该方法包括:获取用于记录数据库中存储的课程属性的变化情况的日志数据,课程属性包括课程静态属性和/或课程动态属性;根据日志数据更新课程索引,课程索引包括课程静态属性索引和课程动态属性索引,课程静态属性索引是与课程静态属性对应的索引,课程动态属性索引是与课程动态属性对应的索引。
因此,本申请实施例通过按照课程属性的更新频率将课程属性分为课程静态属性和课程动态属性,从而在课程静态属性和/或课程动态属性发生变化的情况下,对课程索引中的课程静态属性索引和/或课程动态属性索引进行相应的更新,从而相比于现有的对整个记录进行更新的方案,本申请实施例能够减少更新记录的数据量,减少了更新所使用的时间,进而提高了索引更新的效率。
在一个可能的实施例中,日志数据包括用于记录课程动态属性的变化情况的第一数据,利用日志数据更新对应的索引,包括:利用第一数据更新课程明细索引,使得更新后的课程明细索引所包含的课程动态属性和数据库中存储的课程动态属性一致;基于课程明细索引对变化的课程动态属性进行汇总,得到汇总结果;利用汇总结果更新课程动态属性索引。
因此,本申请实施例中的课程动态属性是基于索引来进行汇总计算的,从而不仅能够提高计算速度,还不依赖于数据库,进而不会影响数据库的性能。
在一个可能的实施例中,课程动态属性包括以下信息中的至少一种信息:选课人数信息、搜索数量信息、点击数量信息和评论数量信息。
因此,本申请实施例通过将修改频率比较频繁的课程属性划分为课程动态属性,从而可提高索引更新的效率。
在一个可能的实施例中,日志数据包括用于记录课程静态属性的变化情况的第二数据,利用日志数据更新对应的索引,包括:利用第二数据更新课程静态属性索引。
在一个可能的实施例中,课程静态属性包括以下信息中的至少一种信息:班级信息、课程链接信息、课程名称信息、课程简介信息、授课教师信息、开课时间信息、结课时间信息和课程类别信息。
因此,本申请实施例通过将修改频率比较低的课程属性划分为课程静态属性,从而可提高索引更新的效率。
第二方面,本申请实施例提供了一种课程搜索方法,该课程搜索方法包括:获取携带有搜索条件的课程搜索请求;从课程索引中搜索与搜索条件匹配的多个目标课程索引,课程索引包括课程静态属性索引和课程动态属性索引,课程静态属性索引是与课程属性中课程静态属性对应的索引,课程动态属性索引是与课程属性中课程动态属性对应的索引;利用多个目标课程索引生成搜索结果。
因此,申请实施例通过按照课程属性的更新频率将课程属性分为课程静态属性和课程动态属性,从而在课程静态属性和/或课程动态属性发生变化的情况下,对课程索引中的课程静态属性索引和/或课程动态属性索引进行相应的更新,从而相比于现有的对整个记录进行更新的方案,本申请实施例能够减少更新记录的数据量,减少了更新所使用的时间,进而提高了索引更新的效率。
此外,本申请实施例通过将记录分为课程静态属性索引和课程动态属性索引,从而在搜索排序时,可以比较方便的进行扩展。例如,可按照不同单个动态属性进行排序,或者按照多个动态属性进行综合排序等。
第三方面,本申请实施例提供了一种更新课程索引的装置,该装置包括:第一获取模块,用于获取用于记录数据库中存储的课程属性的变化情况的日志数据,课程属性包括课程静态属性和/或课程动态属性;更新模块,用于根据日志数据更新课程索引,课程索引包括课程静态属性索引和课程动态属性索引,课程静态属性索引是与课程静态属性对应的索引,课程动态属性索引是与课程动态属性对应的索引。
在一个可能的实施例中,日志数据包括用于记录课程动态属性的变化情况的第一数据,更新模块,具体用于:利用第一数据更新课程明细索引,使得更新后的课程明细索引所包含的课程动态属性和数据库中存储的课程动态属性一致;基于课程明细索引对变化的课程动态属性进行汇总,得到汇总结果;利用汇总结果更新课程动态属性索引。
在一个可能的实施例中,课程动态属性包括以下信息中的至少一种信息:选课人数信息、搜索数量信息、点击数量信息和评论数量信息。
在一个可能的实施例中,日志数据包括用于记录课程静态属性的变化情况的第二数据,更新模块,具体用于:利用第二数据更新课程静态属性索引。
在一个可能的实施例中,课程静态属性包括以下信息中的至少一种信息:班级信息、课程链接信息、课程名称信息、课程简介信息、授课教师信息、开课时间信息、结课时间信息和课程类别信息。
第四方面,本申请实施例提供了一种课程搜索装置,该课程搜索装置包括:第二获取模块,用于获取携带有搜索条件的课程搜索请求;搜索模块,用于从课程索引中搜索与搜索条件匹配的多个目标课程索引,课程索引包括课程静态属性索引和课程动态属性索引,课程静态属性索引是与课程属性中课程静态属性对应的索引,课程动态属性索引是与课程属性中课程动态属性对应的索引;生成模块,用于利用多个目标课程索引生成搜索结果。
第五方面,本申请实施例提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第六方面,本申请实施例提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第二方面或第二方面的任一可选的实现方式所述的方法。
第七方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第八方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第二方面或第二方面的任一可选的实现方式所述的方法。
第九方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。
第十方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第二方面或第二方面的任意可能的实现方式中的方法。
为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种更新课程索引的方法的具体流程图;
图2示出了本申请实施例提供的一种课程索引的示意图;
图3示出了本申请实施例提供的一种课程搜索方法的流程图;
图4示出了本申请实施例提供的一种课程的索引和检索方法的流程图;
图5示出了本申请实施例提供的一种更新课程索引的装置的结构框图;
图6示出了本申请实施例提供的一种课程搜索装置的结构框图;
图7示出了本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
目前,现有的课程属性的索引和课程的搜索均是依靠弹性搜索引擎(Elasticsearch,ES)来实现的。其中,Elasticsearch是一个基于全文搜索引擎(Lucene)的分布式全文搜索引擎。
此外,对于课程的搜索来说,搜索结果可以按用户输入与课程的相关度和选课人数加权综合打分进行排序。
但是,现有的课程属性的索引未考虑课程属性中频繁变化的属性对索引性能的影响,其是将课程所有的属性都放在一个记录中,从而在课程属性中的任何一个属性变化的情况下,都需要更新索引中的整个记录,从而引起了更新代价大和更新效率比较低的问题。
此外,课程中频繁变化的属性是基于关系型数据库来进行计算的,当较多人搜索时(例如,在频繁变化的属性为选课人数时,当选课的人数较多时),会引起计算速度慢和影响数据库性能的问题。
另外,如果直接将课程静态属性和课程动态属性拆分为两个独立的索引库,则无法灵活的指定排序字段,进而无法实现多个索引记录的综合排序,只能按某个索引进行排序。
基于此,本申请实施例巧妙地提出了一种更新课程索引的方案,通过获取用于记录数据库中存储的课程属性的变化情况的日志数据,课程属性包括课程静态属性和/或课程动态属性,以及根据日志数据更新课程索引,课程索引包括课程静态属性索引和课程动态属性索引,课程静态属性索引是与课程静态属性对应的索引,课程动态属性索引是与课程动态属性对应的索引。
因此,本申请实施例通过按照课程属性的更新频率将课程属性分为课程静态属性和课程动态属性,从而在课程静态属性和/或课程动态属性发生变化的情况下,对课程索引中的课程静态属性索引和/或课程动态属性索引进行相应的更新,从而相比于现有的对整个记录进行更新的方案,本申请实施例能够减少更新记录的数据量,减少了更新所使用的时间,进而提高了更新的效率。
请参见图1,图1示出了本申请实施例提供的一种更新课程索引的方法的具体流程图。应理解,图1所示的方法可以由更新课程索引的装置执行,该装置可以与下文中的图5所示的更新课程索引的装置对应,该装置可以是能够执行该方法的各种设备,例如,如个人计算机或服务器(例如,服务器可以是单个服务器,也可以是分布式系统等)等,本申请实施例并不限于此。如图1所述的更新课程索引的方法包括:
步骤S110,获取用于记录数据库中存储的课程属性的变化情况的日志数据。其中,课程属性包括课程静态属性和/或课程动态属性。
应理解,课程静态属性是指修改频率小于等于预设频率的课程属性,或者说课程静态属性是指修改频率比较低的课程属性。其中,预设频率的具体频率可根据实际需求来进行设置,本申请实施例并不局限于此。
对应地,课程动态属性是指修改频率大于预设频率的课程属性,或者说课程动态属性是指修改频率比较频繁的课程属性。
还应理解,课程静态属性所包含的信息可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,课程静态属性包括以下信息中的至少一种信息:班级信息、课程链接信息、课程名称信息、课程简介信息、授课教师信息、开课时间信息、结课时间信息和课程类别信息(例如,当前课程属于计算机等)。
还应理解,课程动态属性所包含的信息也可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,课程动态属性包括以下信息中的至少一种信息:选课人数信息、搜索数量信息、点击数量信息和评论数量信息。
还应理解,课程静态属性和/或课程动态属性可以是指课程静态属性,也可以是指课程动态属性,也可以是指课程静态属性和课程动态属性。
还应理解,日志数据可以是从数据库获取的日志数据,也可是从消息队列中获取的日志数据,本申请实施例并不局限于此。
为了便于理解本申请实施例,下面通过具体的实施例来进行描述。
具体地,在数据库中存储有记录课程静态属性的课程静态属性表和存储有记录课程动态属性的课程动态属性表的情况下,当课程静态属性表和/或课程动态属性表有增删改时,数据库会生成用于记录课程属性的变化情况的日志数据(例如,二进制日志)。以及,可通过抓取工具(例如,Debezium开源组件)来抓取日志数据,并将日志数据添加到消息队列(例如,Kafka消息队列)中。后续,可从消息队列中获取日志数据。
这里需要说明的是,虽然上面以同一个数据库存储有课程静态属性表和课程动态属性表为例来进行描述,但本领域的技术人员应当理解,还可将课程静态属性表和课程动态属性表分别存储在两个独立的数据库中,此时仍然可实现课程的搜索,但无法实现搜索结果的灵活排序,本申请实施例并不局限于此。
步骤S120,根据日志数据更新课程索引。其中,课程索引包括课程静态属性索引和课程动态属性索引,课程静态属性索引是与课程静态属性对应的索引,课程动态属性索引是与课程动态属性对应的索引。
应理解,课程静态属性索引可以是在利用当前课程的所有课程静态属性构建的记录中插入课程索引后获得的。
例如,在课程静态属性包括班级信息、课程链接信息和课程名称信息的情况下,可利用班级信息、课程链接信息和课程名称信息来构建一条记录,并在该条记录中插入课程索引就可获得一个课程静态属性索引。
对应地,课程动态属性索引是在利用当前课程的动态属性构建的记录中插入课程索引后获得的。
例如,在课程动态属性包括选课人数信息和搜索数量信息的情况下,可利用选课人数信息构建第一记录,并利用搜索数量信息构建第二记录。随后,还可在第一记录中插入课程索引就可获得一个课程动态属性索引,以及还可在第二条记录中插入课程索引就可获得另一个课程动态属性索引。
还应理解,课程索引所包含的信息可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,课程索引可以包括记录标识(例如,ID_A表示课程记录A)和课程标识,也可以只包括课程标识。
还应理解,根据日志数据更新课程索引的具体过程可根据实际需求来进行设置,本申请实施例并不局限于此。
为了便于理解本申请实施例,下面通过具体的实施例来进行描述。
具体地,可预先设置好课程索引和课程明细索引等的Mapping信息。其中,Mapping信息与数据库的表结构一致。对于课程索引、课程明细索引和课程动态属性等来说,其都对应有一个Mapping信息,且该Mapping信息规定了字段的字段类型。
例如,在需要向课程明细索引中写入数据的情况下,该Mapping信息规定了写入数据的字段类型(例如,数字或者字符串)。
也就是说,预先设置好课程索引和课程明细索引等的字段及其类型。
此外,在从消息队列中读取日志数据并根据日志数据确定课程静态属性发生变化的情况下,可根据日志数据生成一个包含变化后的课程静态属性的新记录,并利用该新记录更新课程索引中对应的课程静态属性索引。
也就是说,在日志数据包括用于记录课程静态属性的变化情况的第二数据的情况下,利用日志数据更新对应的索引包括:利用第二数据更新课程静态属性索引。
应理解,根据日志数据生成一个包含变化后的课程静态属性的新记录的具体过程可根据实际需求来进行设置。
例如,可根据日志数据确定第一课程的课程静态属性发送了变化,此时可从数据库中获取该第一课程的课程静态属性。
再例如,在预先存储有课程静态属性的历史记录的情况下,由于日志数据可记录有将某一信息的变化以及变化结果,从而可利用日志数据中提取的数据来更新该课程静态属性的历史记录,得到课程静态属性的最新记录。
这里需要说的是,在对课程静态属性索引进行更新的过程中,其也是类似于现有技术中那样通过替换整个记录的方式来实现的。
例如,在课程索引中包括一个历史课程静态属性索引的记录的情况下,可将课程索引中的历史课程静态属性索引整个更新为最新课程静态属性索引。
对应的,课程动态属性索引的更新过程是与课程静态属性索引的更新过程是类似的,后续不再详细描述,具体可参见上述相关描述。
另外,在从消息队列中读取日志数据并根据日志数据确定课程动态属性发生变化的情况下,先将数据库中变化的动态属性更新到课程明细索引中,使得更新后的课程明细索引所包含的课程动态属性和数据库中存储的课程动态属性是相同的,即此时可认为更新后的课程明细索引所包含的课程动态属性是数据库中存储的课程动态属性的镜像数据。随后,可基于搜索引擎计算该变化的动态属性的汇总结果,并可利用汇总结果更新课程动态属性索引。
也就是说,在日志数据包括用于记录课程动态属性的变化情况的第一数据的情况下,利用日志数据更新对应的索引,包括:利用第一数据更新课程明细索引,使得更新后的课程明细索引所包含的课程动态属性和数据库中存储的课程动态属性一致;基于课程明细索引对变化的课程动态属性进行汇总,得到汇总结果;利用汇总结果更新课程动态属性索引。
例如,在课程动态属性包括选课人数信息且数据库中的指定课程的选课人数发生变化的情况下,可利用日志数据对课程明细索引进行更新,使得更新后的课程明细索引中记录的选课人数和数据库中记录的选课人数是一致的。随后,通过搜索引擎可计算出该课程的选课人数由30人增加到了50人,从而可基于最新的选课人数50人来对课程索引中的记录选课人数的课程动态属性索引进行更新。
应理解,搜索引擎可以是Elasticsearch,也可以是其它全文搜索引擎(例如,Lucene、Nutch和Solor)等,本申请实施例并不局限于此。
这里需要说明的是,可利用关联记录标识的方式来将属于同一课程的多条记录(例如,课程静态属性索引的记录和课程动态属性索引的记录)关联到同一门课程,从而可对同一门课程的多条记录进行关联,也可以灵活按照静态属性和动态属性进行排序,也可以实现综合排序。
例如,请参见图2,图2示出了本申请实施例提供的一种课程索引的示意图。如图2所示,该课程索引包括课程记录A和课程记录B,且课程记录A可以为课程静态属性索引对应的记录,课程记录B为课程动态属性索引对应的记录。其中,课程记录A包括:记录标识ID_A、课程标识ID、课程链接、课程名称、课程简介、授课教师、开课时间和结课时间;课程记录B包括:记录标识ID_B、课程标识ID和选课人数。以及,课程记录A中的课程标识ID和课程记录B中的课程标识ID是一样的,从而可将课程记录A和课程记录B关联到同一门课程上。
因此,本申请实施例通过按照课程属性的更新频率将课程属性分为课程静态属性和课程动态属性,从而在课程静态属性和/或课程动态属性发生变化的情况下,对课程索引中的课程静态属性索引和/或课程动态属性索引进行相应的更新,从而相比于现有的对整个记录进行更新的方案,本申请实施例能够减少更新记录的数据量,减少了更新所使用的时间,进而提高了更新的效率。
此外,本申请实施例中的课程动态属性是基于索引来进行汇总计算的,从而不仅能够提高计算速度,还不依赖于数据库,进而不会影响数据库的性能。
应理解,上述更新课程索引的方法仅是示例性的,本领域技术人员根据上述的方法可以进行各种变形,该变形之后的方案也属于本申请的保护范围。
请参见图3,图3示出了本申请实施例提供的一种课程搜索方法的流程图。应理解,图3所示的方法可以由课程搜索装置执行,该课程搜索装置可以与下文中的图6所示的课程搜索装置对应,该课程搜索装置可以是能够执行该方法的各种设备,例如,如个人计算机或服务器(例如,服务器可以是单个服务器,也可以是分布式系统等)等,本申请实施例并不限于此。如图3所述的课程搜索方法包括:
步骤S310,获取携带有搜索条件的课程搜索请求。
应理解,搜索条件所对应的条件可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,搜索条件可以是课程名称,也可以是授课老师等。
步骤S320,从课程索引中搜索与搜索条件匹配的多个目标课程索引。其中,课程索引包括课程静态属性索引和课程动态属性索引,课程静态属性索引是与课程属性中课程静态属性对应的索引,课程动态属性索引是与课程属性中课程动态属性对应的索引。
具体地,如图1所示,该课程索引已经预先生成了相关索引,从而检索时只需查询课程索引即可,通过搜索引起即可搜索到与搜索条件匹配的目标课程索引(例如,在与搜索条件匹配的多个课程索引可包括与搜索条件匹配的课程的课程静态属性索引和课程动态属性索引)。
应理解,搜索引擎可以是Elasticsearch,也可以是其它全文搜索引擎(例如,Lucene、Nutch和Solor)等,本申请实施例并不局限于此。
步骤S330,利用多个目标课程索引生成搜索结果。
应理解,利用多个目标课程索引生成搜索结果的过程可根据实际需求来进行设置,本申请实施例并不局限于此。
例如,可对获取到的多个目标课程索引进行灵活排序等。
应理解,上述课程搜索方法仅是示例性的,本领域技术人员根据上述的方法可以进行各种变形,该变形之后的方案也属于本申请的保护范围。
为了便于理解本申请实施例,下面通过具体的实施例来进行描述。
请参见图4,图4示出了本申请实施例提供的一种课程的索引和检索方法的流程图。如图4所示,该课程索引和检索方法包括:收集同一数据库中课程信息和/或选课记录的日志数据,并将日志数据添加到消息队列中。其中,课程信息为课程静态属性相关的信息,选课记录记录有课程的选课人数。
此外,若课程信息有更新时,则可直接更新至课程索引;若选课记录有更新,则可先将选课记录更新到课程明细索引中,再基于搜索引擎计算该课程对应的选课人数,并将计算结果更新至课程索引。
另外,可通过课程索引来实现课程搜索。
应理解,上述课程的索引和检索方法仅是示例性的,本领域技术人员根据上述的方法可以进行各种变形,该变形之后的方案也属于本申请的保护范围。
请参见图5,图5示出了本申请实施例提供的一种更新课程索引的装置500的结构框图,应理解,该装置500能够执行上述更新课程索引的方法中的各个步骤,该装置500具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置500包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置500的操作系统(operating system,OS)中的软件功能模块。具体地,该装置500包括:
第一获取模块510,用于获取用于记录数据库中存储的课程属性的变化情况的日志数据,课程属性包括课程静态属性和/或课程动态属性;更新模块520,用于根据日志数据更新课程索引,课程索引包括课程静态属性索引和课程动态属性索引,课程静态属性索引是与课程静态属性对应的索引,课程动态属性索引是与课程动态属性对应的索引。
在一个可能的实施例中,日志数据包括用于记录课程动态属性的变化情况的第一数据,更新模块520,具体用于:利用第一数据更新课程明细索引,使得更新后的课程明细索引所包含的课程动态属性和数据库中存储的课程动态属性一致;基于课程明细索引对变化的课程动态属性进行汇总,得到汇总结果;利用汇总结果更新课程动态属性索引。
在一个可能的实施例中,课程动态属性包括以下信息中的至少一种信息:选课人数信息、搜索数量信息、点击数量信息和评论数量信息。
在一个可能的实施例中,日志数据包括用于记录课程静态属性的变化情况的第二数据,更新模块520,具体用于:利用第二数据更新课程静态属性索引。
在一个可能的实施例中,课程静态属性包括以下信息中的至少一种信息:班级信息、课程链接信息、课程名称信息、课程简介信息、授课教师信息、开课时间信息、结课时间信息和课程类别信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
请参见图6,图6示出了本申请实施例提供的一种课程搜索装置600的结构框图,应理解,该课程搜索装置600能够执行上述课程搜索方法中的各个步骤,该课程搜索装置600具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该课程搜索装置600包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在课程搜索装置600的操作系统(operating system,OS)中的软件功能模块。具体地,该课程搜索装置600包括:
第二获取模块610,用于获取携带有搜索条件的课程搜索请求;搜索模块620,用于从课程索引中搜索与搜索条件匹配的多个目标课程索引,课程索引包括课程静态属性索引和课程动态属性索引,课程静态属性索引是与课程属性中课程静态属性对应的索引,课程动态属性索引是与课程属性中课程动态属性对应的索引;生成模块630,用于利用多个目标课程索引生成搜索结果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
请参见图7,图7示出了本申请实施例提供的一种电子设备700的结构框图。如图7所示。电子设备700可以包括处理器710、通信接口720、存储器730和至少一个通信总线740。其中,通信总线740用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口720用于与其他节点设备进行信令或数据的通信。处理器710可以是一种集成电路芯片,具有信号的处理能力。上述的处理器710可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器710也可以是任何常规的处理器等。
存储器730可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。存储器730中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器710执行时,电子设备700可以执行上述方法实施例中对应装置侧的各个步骤。例如,在电子设备700设置在更新课程索引的装置500的情况下,存储器730中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器710执行时,电子设备700可以执行上述图1实施例中的各个步骤。
电子设备700还可以包括存储控制器、输入输出单元、音频单元、显示单元。
所述存储器730、存储控制器、处理器710、外设接口、输入输出单元、音频单元、显示单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线740实现电性连接。所述处理器710用于执行存储器730中存储的可执行模块,例如电子设备700包括的软件功能模块或计算机程序。
输入输出单元用于提供给用户输入数据实现用户与所述服务器(或本地终端)的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。
音频单元向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
显示单元在所述电子设备与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
输入输出单元用于提供给用户输入数据实现用户与处理终端的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。
可以理解,图7所示的结构仅为示意,所述电子设备700还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。图7中所示的各组件可以采用硬件、软件或其组合实现。
本申请提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行任一可选的实现方式所述的方法。
本申请提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行任一可选的实现方式所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种更新课程索引的方法,其特征在于,包括:
获取用于记录数据库中存储的课程属性的变化情况的日志数据,所述课程属性包括课程静态属性和/或课程动态属性;
根据所述日志数据更新课程索引,所述课程索引包括课程静态属性索引和课程动态属性索引,所述课程静态属性索引是与所述课程静态属性对应的索引,所述课程动态属性索引是与所述课程动态属性对应的索引。
2.根据权利要求1所述的方法,其特征在于,所述日志数据包括用于记录所述课程动态属性的变化情况的第一数据,所述利用所述日志数据更新对应的索引,包括:
利用所述第一数据更新课程明细索引,使得更新后的课程明细索引所包含的课程动态属性和所述数据库中存储的课程动态属性一致;
基于所述课程明细索引对变化的课程动态属性进行汇总,得到汇总结果;
利用所述汇总结果更新所述课程动态属性索引。
3.根据权利要求1或2所述的方法,其特征在于,所述课程动态属性包括以下信息中的至少一种信息:选课人数信息、搜索数量信息、点击数量信息和评论数量信息。
4.根据权利要求1或2所述的方法,其特征在于,所述日志数据包括用于记录所述课程静态属性的变化情况的第二数据,所述利用所述日志数据更新对应的索引,包括:
利用所述第二数据更新所述课程静态属性索引。
5.根据权利要求4所述的方法,其特征在于,所述课程静态属性包括以下信息中的至少一种信息:班级信息、课程链接信息、课程名称信息、课程简介信息、授课教师信息、开课时间信息、结课时间信息和课程类别信息。
6.一种课程搜索方法,其特征在于,包括:
获取携带有搜索条件的课程搜索请求;
从课程索引中搜索与所述搜索条件匹配的多个目标课程索引,所述课程索引包括课程静态属性索引和课程动态属性索引,所述课程静态属性索引是与课程属性中课程静态属性对应的索引,所述课程动态属性索引是与所述课程属性中课程动态属性对应的索引;
利用所述多个目标课程索引生成搜索结果。
7.一种更新课程索引的装置,其特征在于,包括:
第一获取模块,用于获取用于记录数据库中存储的课程属性的变化情况的日志数据,所述课程属性包括课程静态属性和/或课程动态属性;
更新模块,用于根据所述日志数据更新课程索引,所述课程索引包括课程静态属性索引和课程动态属性索引,所述课程静态属性索引是与所述课程静态属性对应的索引,所述课程动态属性索引是与所述课程动态属性对应的索引。
8.根据权利要求7所述的装置,其特征在于,所述日志数据包括用于记录所述课程动态属性的变化情况的第一数据,所述更新模块,具体用于:利用所述第一数据更新课程明细索引,使得更新后的课程明细索引所包含的课程动态属性和所述数据库中存储的课程动态属性一致;基于所述课程明细索引对变化的课程动态属性进行汇总,得到汇总结果;利用所述汇总结果更新所述课程动态属性索引。
9.根据权利要求7或8所述的装置,其特征在于,所述课程动态属性包括以下信息中的至少一种信息:选课人数信息、搜索数量信息、点击数量信息和评论数量信息。
10.一种课程搜索装置,其特征在于,包括:
第二获取模块,用于获取携带有搜索条件的课程搜索请求;
搜索模块,用于从课程索引中搜索与所述搜索条件匹配的多个目标课程索引,所述课程索引包括课程静态属性索引和课程动态属性索引,所述课程静态属性索引是与课程属性中课程静态属性对应的索引,所述课程动态属性索引是与所述课程属性中课程动态属性对应的索引;
生成模块,用于利用所述多个目标课程索引生成搜索结果。
CN202011342234.6A 2020-11-25 2020-11-25 一种更新课程索引的方法、课程搜索方法和装置 Pending CN112380416A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011342234.6A CN112380416A (zh) 2020-11-25 2020-11-25 一种更新课程索引的方法、课程搜索方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011342234.6A CN112380416A (zh) 2020-11-25 2020-11-25 一种更新课程索引的方法、课程搜索方法和装置

Publications (1)

Publication Number Publication Date
CN112380416A true CN112380416A (zh) 2021-02-19

Family

ID=74588372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011342234.6A Pending CN112380416A (zh) 2020-11-25 2020-11-25 一种更新课程索引的方法、课程搜索方法和装置

Country Status (1)

Country Link
CN (1) CN112380416A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342921A (zh) * 2021-06-16 2021-09-03 杭州数梦工场科技有限公司 资源编目方法及装置
CN114490526A (zh) * 2022-04-02 2022-05-13 北京新唐思创教育科技有限公司 选课索引文件更新方法、课程搜索方法及装置

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262640A (zh) * 2010-05-31 2011-11-30 中国移动通信集团贵州有限公司 一种全文检索文档数据库的方法及装置
CN103092987A (zh) * 2013-02-06 2013-05-08 北京荣之联科技股份有限公司 一种快速文件检索方法和装置
CN103186622A (zh) * 2011-12-30 2013-07-03 北大方正集团有限公司 一种全文检索系统中索引信息的更新方法以及装置
CN103390066A (zh) * 2013-08-08 2013-11-13 上海新炬网络技术有限公司 一种数据库全局性自动化优化预警装置及其处理方法
CN103559301A (zh) * 2013-11-14 2014-02-05 华为技术有限公司 更新数据的方法、数据库触发器和搜索引擎
JP2015069430A (ja) * 2013-09-30 2015-04-13 ブラザー工業株式会社 情報処理装置及びプログラム
CN104572918A (zh) * 2014-12-26 2015-04-29 清华大学 一种在线课程的搜索方法
CN104899249A (zh) * 2015-05-04 2015-09-09 中国科学院信息工程研究所 一种海量数据下可靠索引更新系统及方法
CN105045851A (zh) * 2015-07-07 2015-11-11 福建天晴数码有限公司 根据日志分析自动创建数据库索引的方法及系统
CN106776878A (zh) * 2016-11-29 2017-05-31 西安交通大学 一种基于ElasticSearch对MOOC课程进行分面检索的方法
CN107920280A (zh) * 2017-03-23 2018-04-17 广州思涵信息科技有限公司 视频、讲义ppt和语音内容精准匹配的方法和系统
CN109753224A (zh) * 2017-11-03 2019-05-14 浙江宇视科技有限公司 存储结构及存储结构配置方法
CN110019179A (zh) * 2017-07-31 2019-07-16 北京嘀嘀无限科技发展有限公司 更新索引库的方法及装置、电子设备、存储介质
CN110609844A (zh) * 2018-05-29 2019-12-24 优信拍(北京)信息科技有限公司 一种数据更新方法,装置及系统
CN110737747A (zh) * 2019-09-12 2020-01-31 苏宁云计算有限公司 一种数据操作方法、装置及系统
CN111818278A (zh) * 2020-07-17 2020-10-23 济南浪潮高新科技投资发展有限公司 一种教学视频采集与检索系统及方法
CN111949479A (zh) * 2020-07-31 2020-11-17 中国工商银行股份有限公司 交互系统和索引创建情况的确定方法、设备

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262640A (zh) * 2010-05-31 2011-11-30 中国移动通信集团贵州有限公司 一种全文检索文档数据库的方法及装置
CN103186622A (zh) * 2011-12-30 2013-07-03 北大方正集团有限公司 一种全文检索系统中索引信息的更新方法以及装置
CN103092987A (zh) * 2013-02-06 2013-05-08 北京荣之联科技股份有限公司 一种快速文件检索方法和装置
CN103390066A (zh) * 2013-08-08 2013-11-13 上海新炬网络技术有限公司 一种数据库全局性自动化优化预警装置及其处理方法
JP2015069430A (ja) * 2013-09-30 2015-04-13 ブラザー工業株式会社 情報処理装置及びプログラム
CN103559301A (zh) * 2013-11-14 2014-02-05 华为技术有限公司 更新数据的方法、数据库触发器和搜索引擎
CN104572918A (zh) * 2014-12-26 2015-04-29 清华大学 一种在线课程的搜索方法
CN104899249A (zh) * 2015-05-04 2015-09-09 中国科学院信息工程研究所 一种海量数据下可靠索引更新系统及方法
CN105045851A (zh) * 2015-07-07 2015-11-11 福建天晴数码有限公司 根据日志分析自动创建数据库索引的方法及系统
CN106776878A (zh) * 2016-11-29 2017-05-31 西安交通大学 一种基于ElasticSearch对MOOC课程进行分面检索的方法
CN107920280A (zh) * 2017-03-23 2018-04-17 广州思涵信息科技有限公司 视频、讲义ppt和语音内容精准匹配的方法和系统
CN110019179A (zh) * 2017-07-31 2019-07-16 北京嘀嘀无限科技发展有限公司 更新索引库的方法及装置、电子设备、存储介质
CN109753224A (zh) * 2017-11-03 2019-05-14 浙江宇视科技有限公司 存储结构及存储结构配置方法
CN110609844A (zh) * 2018-05-29 2019-12-24 优信拍(北京)信息科技有限公司 一种数据更新方法,装置及系统
CN110737747A (zh) * 2019-09-12 2020-01-31 苏宁云计算有限公司 一种数据操作方法、装置及系统
CN111818278A (zh) * 2020-07-17 2020-10-23 济南浪潮高新科技投资发展有限公司 一种教学视频采集与检索系统及方法
CN111949479A (zh) * 2020-07-31 2020-11-17 中国工商银行股份有限公司 交互系统和索引创建情况的确定方法、设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
傅向华: "一种基于数据访问流的数据库索引优化方法", 《计算机工程》, vol. 33, no. 12, pages 99 - 101 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342921A (zh) * 2021-06-16 2021-09-03 杭州数梦工场科技有限公司 资源编目方法及装置
CN113342921B (zh) * 2021-06-16 2024-03-22 杭州数梦工场科技有限公司 资源编目方法及装置
CN114490526A (zh) * 2022-04-02 2022-05-13 北京新唐思创教育科技有限公司 选课索引文件更新方法、课程搜索方法及装置

Similar Documents

Publication Publication Date Title
US11645317B2 (en) Recommending topic clusters for unstructured text documents
US10896214B2 (en) Artificial intelligence based-document processing
US9864808B2 (en) Knowledge-based entity detection and disambiguation
Ortega Academic search engines: A quantitative outlook
CN104123332B (zh) 搜索结果的显示方法及装置
US9418128B2 (en) Linking documents with entities, actions and applications
US8234706B2 (en) Enabling access to aggregated software security information
US20160078047A1 (en) Method for obtaining search suggestions from fuzzy score matching and population frequencies
US9189541B2 (en) Evidence profiling
US9619571B2 (en) Method for searching related entities through entity co-occurrence
US20090070322A1 (en) Browsing knowledge on the basis of semantic relations
KR101502671B1 (ko) 상관된 정보의 온라인 분석 및 디스플레이
Peled et al. Matching entities across online social networks
CN112100138A (zh) 一种日志查询方法、装置、存储介质和电子设备
CN104641371A (zh) 社交网络系统中基于上下文的对象检索
US20150206101A1 (en) System for determining infringement of copyright based on the text reference point and method thereof
US9208150B2 (en) Automatic association of informational entities
CN112380416A (zh) 一种更新课程索引的方法、课程搜索方法和装置
US10191988B2 (en) System and method for returning prioritized content
CN109213830B (zh) 专业性技术文档的文档检索系统
TWI547888B (zh) A method of recording user information and a search method and a server
WO2015094889A2 (en) Trending analysis for streams of documents
CN108536872B (zh) 优化知识库结构的方法与装置
CN112925817A (zh) 图书馆书籍检索方法及检索系统
CN114519128A (zh) 一种在搜索自动补全中结合与展示多信息源的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination