基于ElasticSearch面向M00C的垂直搜索引擎設計與實現(xiàn)
發(fā)布時間:2020-06-19 23:55
【摘要】:隨著教育與信息化的不斷融合與發(fā)展,大規(guī)模在線開放課程(Massive Open Online Course,簡稱MOOC)已經(jīng)成為了一種重要的學習方式。MOOC平臺越來越多,所提供的課程數(shù)量也呈現(xiàn)出爆發(fā)式的增長。這就導致學習者需要花費更多的時間與精力在各個在線平臺來挑選符合自己需求的課程。Google、百度、Bing等通用搜索引擎雖然能夠提供MOOC課程的檢索結果,但檢索結果并不精確,還需要在繁雜的結果中來篩選所需信息,效率低下。因此,一個能夠滿足學習者對MOOC信息搜索的系統(tǒng)就變得尤為重要。本論文設計與實現(xiàn)了面向MOOC領域的垂直搜索引擎系統(tǒng),能夠滿足學習者對MOOC領域更精確的檢索需求,提升學習的效率。采用Python語言進行整個系統(tǒng)的開發(fā),Scrapy框架對多個MOOC平臺進行數(shù)據(jù)采集與抽取,使用MongoDB非關系型數(shù)據(jù)庫來存儲數(shù)據(jù),導入ElasticSearch對數(shù)據(jù)建立索引并搭建分布式搜索服務器,Django來實現(xiàn)用戶檢索網(wǎng)站。通過對搜索引擎技術的學習和對使用者的行為分析,本系統(tǒng)分為MOOC爬蟲模塊、信息索引模塊、用戶檢索模塊,作者獨立設計并完成整個系統(tǒng)的各個模塊的開發(fā)工作,各個模塊詳情如下:(1)爬蟲模塊:針對多個MOOC平臺進行數(shù)據(jù)的爬取,對指定的URL進行頁面下載,提取出頁面中的課程名稱、課程鏈接、簡介、教師、學校等信息。接著對獲取到的數(shù)據(jù)進行處理,過濾掉不合規(guī)范的MOOC課程數(shù)據(jù),將處理過后的數(shù)據(jù)存儲到MongoDB和ElasticSearch索引數(shù)據(jù)庫中。(2)信息索引模塊:對完整的MOOC課程數(shù)據(jù)創(chuàng)建映射,進行中文分詞,建立倒排索引。利用ElasticSearch模糊匹配實現(xiàn)搜索建議提示,多字段查找搜索功能來支持用戶對課程信息的檢索。(3)用戶檢索模塊:使用Django框架開發(fā)動態(tài)網(wǎng)站,提供良好的人機交互頁面和邏輯,方便使用者對MOOC數(shù)據(jù)進行檢索,提供最近搜索歷史紀錄、搜索用時、課程數(shù)目、數(shù)據(jù)分頁瀏覽等功能。檢索頁面返回精準的MOOC課程信息,點擊課程名稱即可跳轉到對應的頁面進行課程的學習。通過對本系統(tǒng)的功能及性能測試,能夠滿足學習者對MOOC課程領域的檢索需求,簡潔精確的檢索結果能夠方便的查看課程介紹,提升用戶尋找課程的效率,具有很高的實用價值。
【學位授予單位】:北京交通大學
【學位級別】:碩士
【學位授予年份】:2019
【分類號】:TP391.3
【圖文】:
網(wǎng)絡爬蟲、增量式網(wǎng)絡爬蟲、深層網(wǎng)絡爬蟲等w。對頁面的采集策略可以分為深度逡逑優(yōu)先、廣度優(yōu)先、最佳優(yōu)先。下面通過圖片來說明網(wǎng)絡爬蟲的基本工作流程,如逡逑圖2-1所示。逡逑>已下載的網(wǎng)頁數(shù)據(jù)逡逑種子URL邋|邐/逡逑、邐|邐讀取逡逑\邐頁下載逡逑\邐/邐bSS逡逑V邋/邐URL逡逑待抓取的邐z逡逑數(shù)據(jù)拍�。阱义蠄D2-1網(wǎng)絡爬蟲結構逡逑Figure邋2-1邋Web邋Crawler邋Structure逡逑網(wǎng)絡爬蟲的基本工作流程[9]:逡逑5逡逑
提升搜索體驗。用戶點擊搜索后能夠與后臺索引服務器進行數(shù)據(jù)交互,對課逡逑程的信息進行多字段匹配查找,返回檢索結果到前臺WEB頁面供用戶瀏覽。系統(tǒng)逡逑的功能模塊結構圖如圖4-1所示。逡逑—^爬蟲投塊邐一逡逑—:■000#rP椋螅r摷mm后理3?.置邐I設置映射j逡逑m邐.煙?—邐邐逡逑I邐?信息索引梢塊邋f邐廔進行中文分詞逡逑I逡逑統(tǒng)邐I—逡逑打邐■邐I逡逑==.)邐—邐搜索建議逡逑—?用戶檢索模塊邐捎親邐I逡逑^sssssissege^tisstsfs¥ssssfssfifitssgsfsfisftsstsssijssfas^3^ass�。螅妫蓿螅蓿。簦。蓿螅妫ぃ。纾妫螅椋ǎ椋螅螅螅纾螅ǎぃ妫椋螅妫妫螅椋梗椋椋螅梗梗螅螅妫椋椋蓿螅妫椋椋椋椋螅螅螅浚簦梗螅椋螅掊义稀娦呕紴g覽逡逑圖4-1系統(tǒng)功能模塊結構圖逡逑Figure邋4-1邋System邋Function邋Module邋Structure邋Diagram逡逑4.3系統(tǒng)技術實現(xiàn)架構逡逑本系統(tǒng)采用MVC架構,前端和后端進行分離,利用瀏覽器來實現(xiàn)強大的功能,逡逑節(jié)約開發(fā)成本,服務器端采用Django框架來搭建WEB檢索服務。根據(jù)MVC架逡逑構模式,依次可分為3層:視圖層、控制層、數(shù)據(jù)層。視圖層是用戶檢索的頁面,逡逑可以輸入檢索詞進行數(shù)據(jù)檢索,查看檢索的結果�?刂茖邮褂茫樱悖颍幔穑蚣軄磉M行逡逑網(wǎng)頁進行下載,再利用XPath對MOOC信息數(shù)據(jù)進行抽取,包括課程名稱、課程逡逑地址、學校、教師、來源等信息。在Scmpy流水線中編寫程序對數(shù)據(jù)進行處理,逡逑導入到MongoDB當中作為數(shù)據(jù)的備份。為了提高搜索服務的穩(wěn)定性
本文編號:2721532
【學位授予單位】:北京交通大學
【學位級別】:碩士
【學位授予年份】:2019
【分類號】:TP391.3
【圖文】:
網(wǎng)絡爬蟲、增量式網(wǎng)絡爬蟲、深層網(wǎng)絡爬蟲等w。對頁面的采集策略可以分為深度逡逑優(yōu)先、廣度優(yōu)先、最佳優(yōu)先。下面通過圖片來說明網(wǎng)絡爬蟲的基本工作流程,如逡逑圖2-1所示。逡逑>已下載的網(wǎng)頁數(shù)據(jù)逡逑種子URL邋|邐/逡逑、邐|邐讀取逡逑\邐頁下載逡逑\邐/邐bSS逡逑V邋/邐URL逡逑待抓取的邐z逡逑數(shù)據(jù)拍�。阱义蠄D2-1網(wǎng)絡爬蟲結構逡逑Figure邋2-1邋Web邋Crawler邋Structure逡逑網(wǎng)絡爬蟲的基本工作流程[9]:逡逑5逡逑
提升搜索體驗。用戶點擊搜索后能夠與后臺索引服務器進行數(shù)據(jù)交互,對課逡逑程的信息進行多字段匹配查找,返回檢索結果到前臺WEB頁面供用戶瀏覽。系統(tǒng)逡逑的功能模塊結構圖如圖4-1所示。逡逑—^爬蟲投塊邐一逡逑—:■000#rP椋螅r摷mm后理3?.置邐I設置映射j逡逑m邐.煙?—邐邐逡逑I邐?信息索引梢塊邋f邐廔進行中文分詞逡逑I逡逑統(tǒng)邐I—逡逑打邐■邐I逡逑==.)邐—邐搜索建議逡逑—?用戶檢索模塊邐捎親邐I逡逑^sssssissege^tisstsfs¥ssssfssfifitssgsfsfisftsstsssijssfas^3^ass�。螅妫蓿螅蓿。簦。蓿螅妫ぃ。纾妫螅椋ǎ椋螅螅螅纾螅ǎぃ妫椋螅妫妫螅椋梗椋椋螅梗梗螅螅妫椋椋蓿螅妫椋椋椋椋螅螅螅浚簦梗螅椋螅掊义稀娦呕紴g覽逡逑圖4-1系統(tǒng)功能模塊結構圖逡逑Figure邋4-1邋System邋Function邋Module邋Structure邋Diagram逡逑4.3系統(tǒng)技術實現(xiàn)架構逡逑本系統(tǒng)采用MVC架構,前端和后端進行分離,利用瀏覽器來實現(xiàn)強大的功能,逡逑節(jié)約開發(fā)成本,服務器端采用Django框架來搭建WEB檢索服務。根據(jù)MVC架逡逑構模式,依次可分為3層:視圖層、控制層、數(shù)據(jù)層。視圖層是用戶檢索的頁面,逡逑可以輸入檢索詞進行數(shù)據(jù)檢索,查看檢索的結果�?刂茖邮褂茫樱悖颍幔穑蚣軄磉M行逡逑網(wǎng)頁進行下載,再利用XPath對MOOC信息數(shù)據(jù)進行抽取,包括課程名稱、課程逡逑地址、學校、教師、來源等信息。在Scmpy流水線中編寫程序對數(shù)據(jù)進行處理,逡逑導入到MongoDB當中作為數(shù)據(jù)的備份。為了提高搜索服務的穩(wěn)定性
【參考文獻】
相關期刊論文 前2條
1 刁興春;譚明超;曹建軍;;一種融合多種編輯距離的字符串相似度計算方法[J];計算機應用研究;2010年12期
2 劉俊熙;盛宇;;垂直和通用搜索引擎的差異和案例分析[J];現(xiàn)代情報;2009年03期
相關碩士學位論文 前8條
1 李遠龍;基于Scrapy框架招聘信息檢索系統(tǒng)的設計與實現(xiàn)[D];西安電子科技大學;2017年
2 何彪;面向MOOC的在線學習平臺的設計及應用研究[D];大連理工大學;2015年
3 李湊;基于用戶體驗的我國mooc學習者需求調查研究[D];江西師范大學;2015年
4 張高偉;基于ElasticSearch的分布式視頻垂直搜索引擎的設計與實現(xiàn)[D];哈爾濱工業(yè)大學;2014年
5 吳強華;銀行信貸業(yè)務管理系統(tǒng)的設計與實現(xiàn)[D];電子科技大學;2014年
6 聞崢;基于Lucene的搜索引擎優(yōu)化[D];北京交通大學;2011年
7 金嬋鳴;垂直搜索引擎系統(tǒng)的研究[D];武漢理工大學;2010年
8 隋毅;彩鈴智能搜索引擎的設計與實現(xiàn)[D];北京郵電大學;2008年
本文編號:2721532
本文鏈接:http://sikaile.net/kejilunwen/sousuoyinqinglunwen/2721532.html
最近更新
教材專著