一种基于ElasticSearch对MOOC课程进行分面检索的方法技术

技术编号:15542392 阅读:49 留言:0更新日期:2017-06-05 11:21
本发明专利技术公开了一种基于ElasticSearch对MOOC课程进行分面检索的方法,所采用的技术方案为:首先获取MOOC课程元数据,解析后存储;然后创建一个索引,将MOOC课程元数据在ElasticSearch集群中建立索引;其次将若干个字段的数据加入到待检索字段中,实现多字段检索,对不同字段通过设置不同的权重;再次设置若干个分面,从不同分面对MOOC课程进行筛选和过滤,允许用户创建自己的检索路径,实现分面检索,设置排序,在MOOC课程检索结果的基础上按照一个特定分面进行排序,使具有预期属性的MOOC课程尽可能靠前,完成检索结果排序;最后设置检索服务接口,提供MOOC课程检索服务,用户提供检索关键词和检索分面信息后,检索服务接口向用户返回MOOC课程信息列表以及课程分面聚合结果。

A method for faceted retrieval of MOOC courses based on ElasticSearch

The invention discloses a method for face retrieval course based on MOOC ElasticSearch, the technical proposal is as follows: first get the MOOC course metadata parsed; then create an index, the MOOC index in the course of metadata in ElasticSearch cluster; secondly, a plurality of field data is added to the search field in the implementation of multi field search, by setting different weights for different fields; once again set up a number of points, MOOC course selection and filtering from different points in the face, allowing users to create their own search path, realize surface search, set the sort, the retrieval results based on MOOC on courses are sorted according to a the specific surface, which has desired properties as possible on the MOOC curriculum, complete the ranking of search results; finally set the retrieval service interface, MOOC The course retrieval service, after the user provides the retrieval key words and the retrieval facet information, retrieves the service interface, returns the MOOC curriculum information list to the user and the curriculum surface polymerization result.

【技术实现步骤摘要】
一种基于ElasticSearch对MOOC课程进行分面检索的方法
本专利技术涉及一种对MOOC课程进行检索的方法,具体涉及一种基于ElasticSearch对MOOC课程进行分面检索的方法。
技术介绍
MOOC中国作为至关重要的教育合作平台,将带领中国远程教育走向国际舞台。MOOC中国与丝路学院的结合,将成为互联网+教育的全新模式,以崭新的技术、资源、商业和服务理念和手段,实现网络教育的转型升级,实现中国的网络教育走向世界。ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。ElasticSearch是用Java开发的,其设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。现有国内外MOOC平台中,课程检索主要包括三个步骤:(1)对课程名称的索引;(2)用户在MOOC网站对课程名称进行检索;(3)MOOC检索系统直接返回数据。上述方法中的索引内容不够全面,检索方式单一,检索结果输出不够智能。因此,这种大众化的检索方式并不能满足用户更全面的需求。
技术实现思路
为了解决现有技术中的问题,本专利技术提出一种基于ElasticSearch对MOOC课程进行分面检索的方法,将繁杂、无序的课程资源整合成一个可个性化高效搜索的形式,缓解用户搜索所需课程信息慢的弊端,提高用户获得有效信息的精准度,使用户能够检索更全面的内容,更快检索到想要的课程。为了实现以上目的,本专利技术所采用的技术方案为:包括以下步骤:1)元数据的获取:首先从MOOC资源服务平台获取MOOC课程元数据,然后解析数据并将MOOC课程元数据存储在本地资源数据库中;2)索引构建:首先在ElasticSearch中创建一个索引,然后通过ElasticSearch的批量导入机制,将本地资源数据库中的MOOC课程元数据在ElasticSearch集群中建立索引;3)多字段检索和字段权重设置:首先根据MOOC课程资源的特点分析出若干个字段的数据并加入到待检索字段中,然后利用ElasticSearch的Bool查询嵌套,实现多字段检索;最后对不同字段通过设置不同的权重,排除检索结果中的干扰信息;4)分面检索和查询结果排序:首先设置若干个分面,利用ElasticSearch的聚合查询从不同分面对MOOC课程进行筛选和过滤,允许用户创建自己的检索路径,实现分面检索;然后设置排序,在MOOC课程检索结果的基础上按照一个特定分面进行排序,使具有预期属性的MOOC课程尽可能靠前,完成检索结果排序;5)设置检索服务接口,提供MOOC课程检索服务,检索服务接口要求用户提供检索关键词和检索分面信息,用户提供检索关键词和检索分面信息后,检索服务接口向用户返回MOOC课程信息列表以及课程分面聚合结果。所述步骤1)中元数据的获取具体包括以下步骤:1.1)通过基于HTTP协议的GET请求规范从MOOC中国资源服务平台获取课程列表;1.2)将所有课程的CourseID放入队列中进行循环遍历,根据CourseID这个字段通过基于HTTP协议的GET请求规范从MOOC中国资源服务平台获取每一课程的JSON文件;1.3)利用JsonPath解析语法,对JSON文件进行解析,获取MOOC课程元数据;1.4)将MOOC课程元数据存入本地的MySQL资源数据库中。所述步骤2)中索引构建具体包括:首先构建ElasticSearch的Mapping描述文件,指明每一个字段如何索引数据以及是否被检索到,并使用一个默认的分析器Analyzer;然后将Mapping文件写入ElasticSearch集群中,创建一个索引Indexmooc;最后从本地MySQL资源数据库中获取MOOC课程元数据,利用ElasticSearch的Bulk批量导入索引Indexmooc中。所述步骤3)中多字段检索和字段权重设置具体包括以下步骤:3.1)根据MOOC课程资源的特点分析出七个字段的数据,七个字段包括课程名称CourseName、课程简介Introduction、课程机构名称OrgName、章节列表Chapterlist、教师团队TeacherInfo、先修知识Priorknowledge和授课语言Language;3.2)设置ElasticSearch的查询器TermQuery和MatchQuery,并用ElasticSearch的Bool查询进行嵌套,实现多字段检索;3.3)设置不同字段的权重,引入权重公式ω=CourseName×1.0+Introduction×ω1+OrgName×ω2+Chapterlist×ω3+TeacherInfo×ω4+Priorknowledge×ω5+Language×ω6;其中MOOC课程名称CourseName的系数为1.0,其他字段系数ω1、ω2、ω3、ω4、ω5和ω6为待定系数。所述权重公式的字段系数的确定过程为:首先利用信息量权数法通过控制变量在不同字段检索一定数量的关键词,然后通过计算结果中TF-IDF指标来衡量该字段的分辨信息的数量,来衡量该字段的权重大小,并确定最终的权重公式的系数。所述步骤4)中分面检索和查询结果排序具体过程:首先用户输入关键词,创建查询器,对步骤3)中的若干个字段进行检索,利用权重公式对结果进行排序,排除干扰信息;然后对检索结果进行分面聚合查询处理,获得分面集合以及每一个分面包含的MOOC课程数量信息,每次增加新的分面进行检索,在Bool嵌套查询中插入Matchquery查询器;最后检索结果默认设置为综合排序,即MOOC课程按照相关度进行降序排序。所述检索结果还按照热度、开课时间和上课周数对MOOC课程进行排序。所述步骤5)中检索服务接口为基于HTTP协议面向Web的检索服务接口,检索服务接口基于Jersey2.0的RestfulAPI框架对检索服务进行封装,检索服务接口的入口参数采用HTTP协议的GET请求规范,并要求用户提供检索关键词和检索分面信息。所述HTTP协议GET请求的Header中加入检索服务接口的请求序列号。与现有技术相比,本专利技术首先从MOOC资源服务平台获取MOOC课程元数据,并解析后存储在本地资源数据库中;然后在ElasticSearch中创建一个索引,通过ElasticSearch的批量导入机制,将本地资源数据库中的MOOC课程元数据在ElasticSearch集群中建立索引;其次根据MOOC课程资源的特点分析出若干个字段的数据并加入到待检索字段中,利用ElasticSearch的Bool查询嵌套,实现多字段检索,对不同字段通过设置不同的权重,排除检索结果中的干扰信息;再次设置若干个分面,利用ElasticSearch的聚合查询从不同分面对MOOC课程进行筛选和过滤,允许用户创建自己的检索路径,实现分面检索,设置排序,在MOOC课程检索结果的基础上按照一个特定分面进行排序,使具有预期属性的MOOC课程尽可能靠前,完成检索结果排序;最后设置检索服务接口,提供MOOC课程检索服务,检索服务接口要求用户提供检索关键词和检索分面信息,用户提供检索关键词和检索分面信本文档来自技高网...
一种基于ElasticSearch对MOOC课程进行分面检索的方法

【技术保护点】
一种基于ElasticSearch对MOOC课程进行分面检索的方法,其特征在于,包括以下步骤:1)元数据的获取:首先从MOOC资源服务平台获取MOOC课程元数据,然后解析数据并将MOOC课程元数据存储在本地资源数据库中;2)索引构建:首先在ElasticSearch中创建一个索引,然后通过ElasticSearch的批量导入机制,将本地资源数据库中的MOOC课程元数据在ElasticSearch集群中建立索引;3)多字段检索和字段权重设置:首先根据MOOC课程资源的特点分析出若干个字段的数据并加入到待检索字段中,然后利用ElasticSearch的Bool查询嵌套,实现多字段检索;最后对不同字段通过设置不同的权重,排除检索结果中的干扰信息;4)分面检索和查询结果排序:首先设置若干个分面,利用ElasticSearch的聚合查询从不同分面对MOOC课程进行筛选和过滤,允许用户创建自己的检索路径,实现分面检索;然后设置排序,在MOOC课程检索结果的基础上按照一个特定分面进行排序,使具有预期属性的MOOC课程尽可能靠前,完成检索结果排序;5)设置检索服务接口,提供MOOC课程检索服务,检索服务接口要求用户提供检索关键词和检索分面信息,用户提供检索关键词和检索分面信息后,检索服务接口向用户返回MOOC课程信息列表以及课程分面聚合结果。...

【技术特征摘要】
1.一种基于ElasticSearch对MOOC课程进行分面检索的方法,其特征在于,包括以下步骤:1)元数据的获取:首先从MOOC资源服务平台获取MOOC课程元数据,然后解析数据并将MOOC课程元数据存储在本地资源数据库中;2)索引构建:首先在ElasticSearch中创建一个索引,然后通过ElasticSearch的批量导入机制,将本地资源数据库中的MOOC课程元数据在ElasticSearch集群中建立索引;3)多字段检索和字段权重设置:首先根据MOOC课程资源的特点分析出若干个字段的数据并加入到待检索字段中,然后利用ElasticSearch的Bool查询嵌套,实现多字段检索;最后对不同字段通过设置不同的权重,排除检索结果中的干扰信息;4)分面检索和查询结果排序:首先设置若干个分面,利用ElasticSearch的聚合查询从不同分面对MOOC课程进行筛选和过滤,允许用户创建自己的检索路径,实现分面检索;然后设置排序,在MOOC课程检索结果的基础上按照一个特定分面进行排序,使具有预期属性的MOOC课程尽可能靠前,完成检索结果排序;5)设置检索服务接口,提供MOOC课程检索服务,检索服务接口要求用户提供检索关键词和检索分面信息,用户提供检索关键词和检索分面信息后,检索服务接口向用户返回MOOC课程信息列表以及课程分面聚合结果。2.根据权利要求1所述的一种基于ElasticSearch对MOOC课程进行分面检索的方法,其特征在于,所述步骤1)中元数据的获取具体包括以下步骤:1.1)通过基于HTTP协议的GET请求规范从MOOC中国资源服务平台获取课程列表;1.2)将所有课程的CourseID放入队列中进行循环遍历,根据CourseID这个字段通过基于HTTP协议的GET请求规范从MOOC中国资源服务平台获取每一课程的JSON文件;1.3)利用JsonPath解析语法,对JSON文件进行解析,获取MOOC课程元数据;1.4)将MOOC课程元数据存入本地的MySQL资源数据库中。3.根据权利要求1所述的一种基于ElasticSearch对MOOC课程进行分面检索的方法,其特征在于,所述步骤2)中索引构建具体包括:首先构建ElasticSearch的Mapping描述文件,指明每一个字段如何索引数据以及是否被检索到,并使用一个默认的分析器Analyzer;然后将Mapping文件写入ElasticSearch集群中,创建一个索引Indexmooc;最后从本地MySQL资源数据库中获取MOOC课程元数据,利用ElasticSearch的Bulk批量导入索引Indexmooc中。4.根据权利要求1所述的一种基于ElasticSearch对MOOC课程进行分面检索的方法,其特征在于,所述步骤3)中多字段检索和字段...

【专利技术属性】
技术研发人员:刘均石磊魏笔凡王萌姚思雨曾宏伟郭朝彤王瑞杰
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1