




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于 Lucene 的網(wǎng)絡(luò)教學(xué)資源檢索系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)李勇 1 王移芝 2(1. 北京理工大學(xué),北京 100081;2. 北京交通大學(xué),北京 100044)摘 要 在網(wǎng)絡(luò)教學(xué)資源平臺(tái)中加入資源搜索功能, 有利于學(xué)習(xí)者快速定位 學(xué)習(xí)資源。本文在開(kāi)源搜索引擎 Lucene 的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)一個(gè)網(wǎng)絡(luò)教學(xué)資 源檢索系統(tǒng)。首先介紹如何用XML來(lái)組織網(wǎng)絡(luò)教學(xué)資源,接著分析了系統(tǒng)的功 能目標(biāo)和體系結(jié)構(gòu), 最后對(duì)系統(tǒng)的索引構(gòu)建和檢索系統(tǒng)實(shí)現(xiàn)中的關(guān)鍵技術(shù)進(jìn)行探 討。關(guān)鍵詞 網(wǎng)絡(luò)教育;教學(xué)資源;資源檢索; Lucene;X M L1 前言隨著網(wǎng)絡(luò)教育迅速發(fā)展, 各種形式的網(wǎng)絡(luò)教學(xué)資源日趨豐富, 信息的種類也
2、在不斷的擴(kuò)展。一方面越來(lái)越 多的非結(jié)構(gòu)化信息不斷出現(xiàn),如文本、圖像、動(dòng) 畫(huà)、音頻、視頻等,這些資源都屬于非結(jié)構(gòu)化數(shù)據(jù),與之相應(yīng)的網(wǎng)絡(luò)教學(xué)資源的 組織卻不盡如人意,找到所需要的教 學(xué)資源是一件費(fèi)時(shí)費(fèi)力的事。另一方面大 量的冗余信息、過(guò)載信息使得用戶難以準(zhǔn)確快速地找到他所需求的信息和資源。在此背景下,本文結(jié)合校重點(diǎn)教改項(xiàng)目“數(shù)字媒體資源建設(shè)的研究與實(shí) 踐”,其總體思想是開(kāi)發(fā)以 XML 為結(jié)構(gòu)和內(nèi)容載體的數(shù)字媒體資源庫(kù),并將其 以豐富的表現(xiàn)形式在瀏覽器中顯示出來(lái)。 筆者在本文中主要討論如何在數(shù)字媒體 資源平臺(tái)中加入中英文搜索引擎。使用Lucene和XML技術(shù)設(shè)計(jì)并實(shí)現(xiàn)一個(gè)Web 搜索引擎,可對(duì)數(shù)字媒
3、體資源平臺(tái)中的全部文本、圖片、視頻、動(dòng)畫(huà)等資源進(jìn)行 搜索,以便學(xué)生和教師用戶快速定位和找到所需 要的數(shù)字媒體資源。Lucene 不是一個(gè)完整的全文索引應(yīng)用,而是一個(gè)用 Java 寫(xiě)的全文索引引 擎工具包,它可以方便地嵌入到各種應(yīng)用中實(shí)現(xiàn)針對(duì)應(yīng)用的全文索引、 檢索功能。 可以把 Lucene 當(dāng)成一個(gè)支持全文索引的數(shù)據(jù)庫(kù)系統(tǒng) 1 。 其組織結(jié)構(gòu)如圖 1所 示。 Lucene 包含了大量的抽象類、接口、文檔類型等,需要根據(jù)具體應(yīng)用來(lái)定 義實(shí)現(xiàn),本文通過(guò)擴(kuò)充 Lucene 包來(lái)完成中文的全文檢索功能。查詢語(yǔ)句4org.apach&lucene. queryPaser查詢結(jié)果org apach
4、e luc ene analysis被索引文件org apache luc ene. s earch對(duì)外接口arg. apachd luc ene. do cumentwg. apache luc ene. index索引文件. org. apache luc ene. stor eorg apache luc ene. util基礎(chǔ)結(jié)構(gòu)封裝圖1 Lucene系統(tǒng)的結(jié)構(gòu)組織圖2系統(tǒng)功能目標(biāo)設(shè)計(jì)本文實(shí)現(xiàn)的教學(xué)資源搜索引擎主要由四大功能模塊組成:(1) 存儲(chǔ)模塊:本系統(tǒng)在資源的組織上,將資源的相關(guān)信息用XML文件來(lái) 存放,使其獨(dú)立于各種平 臺(tái),以便數(shù)據(jù)能夠方便地進(jìn)行傳遞。把搜索到的信息 也存進(jìn)單一
5、的XML文檔中,相對(duì)于每個(gè)獨(dú)立文件,它可以減少索引程序進(jìn)行文件定位和打開(kāi)關(guān)閉文件所需要的時(shí)間,這在數(shù)據(jù)量比較大的時(shí)候效果特別明顯2 o資源存儲(chǔ)描述如圖2所示。在系統(tǒng)中,對(duì)資源源數(shù)據(jù)描述包括資源描述、知識(shí)點(diǎn)描述、關(guān)鍵詞描述、試 題描述、用戶信息描述。資源描述是對(duì)系統(tǒng)中各種資源的描述信息包括資源 ID、 資源關(guān)鍵字、資源章節(jié)、資源類型、資源存放路徑等信息;資源信息的描述采用 了 IMS的內(nèi)容包裝規(guī)范,這種規(guī)范的優(yōu)點(diǎn)是可以清晰地描述資源的結(jié)構(gòu)及相關(guān) 資源的存儲(chǔ)位置,同時(shí)具有很高的擴(kuò)充性,為搜索引擎的應(yīng)用提供了方便。(2) 文檔分析模塊:該模塊主要針對(duì) XML文件,其主要功能是把XML標(biāo)簽 去掉。(3
6、) 索引模塊:主要負(fù)責(zé)新建索引、更新索引,以及維護(hù)數(shù)據(jù)索引。索引 程序需要對(duì)XML文檔中的文本、圖像、動(dòng)畫(huà)、音頻、視頻等數(shù)據(jù)進(jìn)行索引,為索 引程序的運(yùn)行過(guò)程建立運(yùn) 行日志,并存盤(pán)。(4) 檢索模塊:以Web頁(yè)面作為用戶檢索的界面,對(duì)數(shù)據(jù)進(jìn)行檢索,支持 高級(jí)查詢,對(duì)檢索結(jié)果提供方便的查看方式。Ident i ferKryV or dTypi'Topic"TopicELesooLrccTje 巳 曰'fiesooLrccTjcFilelueFil«IueLocal i. odl Autllfiir圖2資源描述XSD文件的直觀圖3系統(tǒng)結(jié)構(gòu)圖與XML處理3.1系統(tǒng)結(jié)
7、構(gòu)圖圖 3 搜索引擎結(jié)構(gòu)圖Lucene 本身只是一個(gè)組件,而非一個(gè)完整的應(yīng)用,所以若想讓 Lucene 在數(shù) 字媒體資源平臺(tái)上 運(yùn)行,需在 Lucene 基礎(chǔ)上進(jìn)行必要的二次開(kāi)發(fā)。 在本系統(tǒng)中 利用 Jsp+Javabean 技術(shù),構(gòu)建搜索引擎模式。 Jsp 負(fù)責(zé)頁(yè)面處理,數(shù)據(jù)和邏輯 處理 則由JavaBeans完成。圖3為搜索引擎的結(jié)構(gòu)圖。3.2 XML 文檔處理根據(jù)系統(tǒng)詞典,用MM法對(duì)資源關(guān)鍵字和描述分詞后,接著要建立索引,Lucene對(duì)文件進(jìn)行索引使 用的是IndexWrite類。因?yàn)長(zhǎng)ucene本身只能對(duì)TXT 文件和HTMI文件進(jìn)行索引,所以要對(duì)其它的文檔進(jìn)行索引,還必須擴(kuò)展 Luc
8、ene 的文 件內(nèi)容分析器 2 。資源文件的信息以XML文檔存儲(chǔ),XML中有大量的標(biāo)記,如在“vResources><type>04v/type>< /Resources”中的 “<type > ”和“</ type >”對(duì)搜索來(lái)說(shuō)是噪音信息,這些標(biāo)記必須首先去掉,才能進(jìn)行進(jìn)一步的處 理。其基本原理是在碰到“ <”或“ </'標(biāo)記時(shí),就向下 找>”標(biāo)記,找到后, 將“<”或“</”同“ >”之間的內(nèi)容在一張標(biāo)記詞表中檢索,這張?jiān)~表包括了 課件文件中的大部分標(biāo)記。如果 檢索成功,則去除這些標(biāo)記。4
9、lucene 檢索系統(tǒng)的實(shí)現(xiàn)4.1 索引構(gòu)建索引構(gòu)建模塊將上述處理后的數(shù)據(jù)源 XML文檔轉(zhuǎn)化為L(zhǎng)ucene所能使用的索 引文件(docume nt)。將一條數(shù)據(jù)信息添加到索引文件中,首先創(chuàng)建了類 Docume nt的一個(gè)實(shí)例,它由一個(gè)或者多個(gè)的域組成。其域?yàn)閷?shí)際文檔的一些屬 性。比如對(duì)于XML數(shù)據(jù)源中一條網(wǎng)絡(luò)教學(xué)資源的信息記錄,它的域可能包括資源 名稱、資源描述、資源關(guān)鍵字、 資源所屬目錄等。 不同類型的 Field 來(lái)控制文 檔 的哪些內(nèi)容應(yīng)該索引, 哪些內(nèi)容應(yīng)該存儲(chǔ)。 其次向文檔中添加域, 每個(gè)域包含兩 個(gè)屬性,分別是域的名字和域的內(nèi)容。本系統(tǒng)中分別是Res_Name和Res_Desc,存
10、儲(chǔ)需要索引的資源名稱和描述。 最后把準(zhǔn)備好的文檔添加到了索引當(dāng)中。 當(dāng)把 索引文檔都添加到索引中后,要關(guān)閉索引,這樣才保證把添加的 文檔寫(xiě)回到硬 盤(pán)上。創(chuàng)建索引最重要的類是 IndexWriter ,其構(gòu)造器有 3個(gè)參數(shù),分別為存儲(chǔ)索 引文件的路徑、分 詞器及布爾變量,用于控制是重建索引,還是復(fù)用原有索引 4。修改該索引器所使用的語(yǔ)言分析器,使其支持中文分詞。本系統(tǒng)采用了 基 于字典的前向最大匹配法(MMS)的中文分詞器,并且在生成索引器時(shí)將支持 此中文分詞器作為參數(shù)傳遞給索引器, 成為索引器的成員, 使其在索引過(guò)程中使 用 該語(yǔ)言分析器進(jìn)行分詞。 IndexWriter 方法即為 Index
11、Writer ( “RSindex” , new MMSstandardAnalyzer() , true )。4.2 檢索系統(tǒng)的實(shí)現(xiàn)用戶在搜索頁(yè)面中 輸入需要查詢的關(guān)鍵字后, 將關(guān)鍵字送到 Lucene 的查詢 分析器中。這里的查詢分析器使用的是 Lucene 核心中的 Query2parse 類,對(duì)用 戶提交 的查詢關(guān)鍵字組成的邏輯表達(dá)式進(jìn)行分析。 對(duì)己建索引的搜索進(jìn)行搜索, 在類中建立一個(gè)新的方法 search (String ),參數(shù) indexDir 為索引建 立的目 錄, queryString 為查詢的字符串,這里搜索過(guò)程主要用到兩個(gè)對(duì)象IndexSearcher和Query。I
12、ndexSearcher用來(lái)找到索引數(shù)據(jù),Query用來(lái)處理 搜索請(qǐng)求 5 。然后被調(diào)用進(jìn)入 Lucene 的搜索入口,再對(duì)索引進(jìn)行查詢,然后返回查詢結(jié) 果。檢索時(shí),用戶提交檢索關(guān)鍵字,先調(diào)用的Lucene查詢分析器分析用戶提交 的查詢,然后調(diào)用 IndexSearcher 類進(jìn)行搜索, 就是按查詢分析器所形成的查詢 條件Query對(duì)Lucene索引進(jìn)行搜索匹配,在經(jīng)過(guò) Lucene的排序后返回結(jié)果為 類,可以通過(guò)它再訪問(wèn)Document索引文件field中的內(nèi)容,最 后輸入用戶查詢、 調(diào)用檢索器,將檢索器返回的查詢結(jié)果即多個(gè) hits分頁(yè)顯示在 Web結(jié)果頁(yè)面。 在本系統(tǒng)中,用戶可以通過(guò)關(guān)鍵
13、字、 資源類型檢索相關(guān)資源, 單擊“檢索資源”, 顯示資源檢索結(jié)果頁(yè)面。5 總結(jié)本網(wǎng)絡(luò)教學(xué)資源檢索系統(tǒng)是基于 Luce ne開(kāi)放源代碼技術(shù)的二次開(kāi)發(fā)利用, 在查詢方式、檢索結(jié)果處 理和分類檢索等方面有較大的改進(jìn)。同時(shí),它放棄了 傳統(tǒng)教學(xué)資源搜索引擎的基于數(shù)據(jù)庫(kù)匹配的查詢方式,采用了 XML來(lái)組織存放資源的相關(guān)信息。該方法不僅采 用了基于字典的前向最大匹配法分詞檢索技術(shù), 還支持動(dòng)態(tài)更新Lucene文檔索引等許多新技術(shù)。當(dāng)然,本系統(tǒng)在許多方面仍需 要改進(jìn),如對(duì)查詢條件中“or”語(yǔ)法的支持、更智能的中文切分與信息過(guò)濾等,這些有待于進(jìn)一步的開(kāi)發(fā)和深入探討。參考文獻(xiàn)1 王莉云,王華,陳剛,姚乃明;基于的Luce ne全文檢索系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)J 計(jì)算機(jī)工程與設(shè)計(jì),2007 (12)2 李 毅,楊善林,劉業(yè)政,顧鐵軍基于XML的網(wǎng)絡(luò)課件環(huán)境中搜索引擎 的實(shí)現(xiàn)J.武漢理工大學(xué)學(xué)報(bào),2003 (6)3 晁岳峰,曹作良,郭英玲.基于Lucene的搜索引擎在遠(yuǎn)程教育平臺(tái)中的 實(shí)現(xiàn)J.天津理 工大學(xué)學(xué)報(bào),2005 (12)4 lucene 官方網(wǎng)站 http :/jakart
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京小客車(chē)租賃合同范本(2025版)含司機(jī)休息日及加班費(fèi)規(guī)定
- 二零二五年度廢舊電子產(chǎn)品回收與拆解處理合同
- 二零二五銀川住宅小區(qū)綠化養(yǎng)護(hù)及環(huán)境治理服務(wù)合同
- 2025年度校園安全管理及保安人員勞務(wù)派遣合同
- 二零二五年度不銹鋼欄桿工程設(shè)計(jì)及施工一體化合同
- 2025年新型電動(dòng)卷簾窗簾供應(yīng)商合作協(xié)議范本
- 2025年度綠色環(huán)保營(yíng)業(yè)員聘用協(xié)議標(biāo)準(zhǔn)范本
- 2025年石英纖維及制品項(xiàng)目項(xiàng)目風(fēng)險(xiǎn)識(shí)別與評(píng)估綜合報(bào)告
- 知識(shí)寶庫(kù)變現(xiàn)術(shù)-IP資產(chǎn)入股解析與實(shí)務(wù)
- 構(gòu)建企業(yè)級(jí)網(wǎng)絡(luò)安全事件應(yīng)急預(yù)案
- 五年級(jí)數(shù)學(xué)(小數(shù)乘除法)計(jì)算題專項(xiàng)練習(xí)及答案匯編
- 上海市楊浦區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期英語(yǔ)期末考卷(含筆試答案無(wú)聽(tīng)力答案、原文及音頻)
- 課題申報(bào)參考:法國(guó)漢學(xué)家弗朗索瓦·朱利安對(duì)中國(guó)山水畫(huà)論的闡釋研究
- 生物-山東省濰坊市、臨沂市2024-2025學(xué)年度2025屆高三上學(xué)期期末質(zhì)量檢測(cè)試題和答案
- 2024年09月2024年中國(guó)農(nóng)業(yè)發(fā)展銀行總行部門(mén)秋季校園招聘(22人)筆試歷年參考題庫(kù)附帶答案詳解
- 2025年小學(xué)督導(dǎo)工作計(jì)劃
- 2024-2025學(xué)年部編版歷史九年級(jí)上冊(cè)期末復(fù)習(xí)練習(xí)題(含答案)
- 2025年北京生命科技研究院招聘筆試參考題庫(kù)含答案解析
- 銀行金融機(jī)構(gòu)銀行金融服務(wù)協(xié)議
- 基于ChatGPT的ESG評(píng)級(jí)體系實(shí)現(xiàn)機(jī)制研究
- 2024年長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案解析
評(píng)論
0/150
提交評(píng)論