中小型網(wǎng)站站內(nèi)搜索引擎的設(shè)計與實現(xiàn)_第1頁
中小型網(wǎng)站站內(nèi)搜索引擎的設(shè)計與實現(xiàn)_第2頁
中小型網(wǎng)站站內(nèi)搜索引擎的設(shè)計與實現(xiàn)_第3頁
中小型網(wǎng)站站內(nèi)搜索引擎的設(shè)計與實現(xiàn)_第4頁
中小型網(wǎng)站站內(nèi)搜索引擎的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、0引言全文檢索是一種I/O 密集型的應(yīng)用,以往中小型網(wǎng)站的站內(nèi)檢索多是直接基于關(guān)系數(shù)據(jù)庫的檢索功能,存在很多弊端和不足,故本文選擇在文件系統(tǒng)上構(gòu)建解決方案。基于全文檢索的站內(nèi)搜索引擎,把原先分散分布、非結(jié)構(gòu)化、異構(gòu)的信息資源統(tǒng)一整合,通過統(tǒng)一的檢索方式綜合利用。根據(jù)上面的分析了解,簡化的中小型網(wǎng)站站內(nèi)搜索功能總體功能如圖1所示。圖1站內(nèi)搜索引擎功能需求圖信息領(lǐng)域的專家一致認(rèn)為,伴隨著網(wǎng)站內(nèi)部數(shù)據(jù)的增長,搜索引擎成為市場的一大熱點,尤其是企業(yè)級的站內(nèi)搜索,作為專門為企業(yè)提供內(nèi)部信息搜索服務(wù)的工具,企業(yè)搜索可以實現(xiàn)企業(yè)現(xiàn)有業(yè)務(wù)資源的充分整合,這對提升企業(yè)信息化程度與業(yè)務(wù)效率意義非凡。1站內(nèi)搜索引擎

2、的設(shè)計1.1系統(tǒng)用例分析站內(nèi)搜索引擎與互聯(lián)網(wǎng)搜索引擎的核心技術(shù)基本相同,都采用了信息采集、索引、檢索等;不同之處在于更適合對內(nèi)應(yīng)用,信息采集的規(guī)模較小,效率更快,針對性強,而且能夠定向定量采集;檢索則更加注重個性化,智能化。并不是簡單地將互聯(lián)網(wǎng)搜索技術(shù)拿到網(wǎng)站內(nèi)部使用,而是對網(wǎng)站內(nèi)部數(shù)據(jù)的高效獲取和有效組織的技術(shù)和過程。對于企業(yè)級網(wǎng)站的站內(nèi)搜索,更是不僅僅包括互聯(lián)網(wǎng)搜索的相關(guān)技術(shù),還包括一系列對于非結(jié)構(gòu)化數(shù)據(jù)的組織,分析和安全管理,涵蓋的技術(shù)層面相當(dāng)之廣泛。對站內(nèi)搜索進(jìn)行用例分析,可以了解其基本需求,確定系統(tǒng)邊界。根據(jù)網(wǎng)站的搜索需求,創(chuàng)建站內(nèi)搜索用例圖來描述中小型網(wǎng)站站內(nèi)搜索引擎的軟件功能模塊

3、。分析不同模塊之間的關(guān)系,以及如何構(gòu)成整體的系統(tǒng)。根據(jù)上一節(jié)對站內(nèi)搜索引擎的總體描述,結(jié)合上面對站內(nèi)搜索功能分析,得到系統(tǒng)需求功能分解的用例描述,具體的功能描述如下。用例1系統(tǒng)設(shè)置與管理:為管理員提供更多的參數(shù)設(shè)置和管理功能,靈活地控制資源的信息分類,數(shù)據(jù)更中小型網(wǎng)站站內(nèi)搜索引擎的設(shè)計與實現(xiàn)*鐘瑞瓊,周黎,韓德志(廣東外語外貿(mào)大學(xué)思科信息學(xué)院,廣州510420關(guān)鍵詞:全文檢索;站內(nèi)搜索引擎;Lucene*基金資助:國家自然科學(xué)基金(No.61070154、廣東省自然科學(xué)基金(No.20092A008、廣州市科技攻關(guān)項目(No.200922-D081收稿日期:2011-03-21修稿日期:201

4、1-04-18作者簡介:鐘瑞瓊(1979-,女,河北唐山人,講師,在讀博士,研究方向為網(wǎng)絡(luò)技術(shù)與信息系統(tǒng)站內(nèi)搜索引擎是針對某個網(wǎng)站內(nèi)部的全文檢索服務(wù),具備信息檢索的核心技術(shù)。提出在文件系統(tǒng)上構(gòu)建的解決方案,使用全文檢索開發(fā)工具包Lucene ,實現(xiàn)站內(nèi)搜索引擎系統(tǒng)。不僅針對關(guān)系數(shù)據(jù)庫的數(shù)據(jù),還對服務(wù)器文件系統(tǒng)上的各種非結(jié)構(gòu)化文檔數(shù)據(jù)進(jìn)行加工、信息抽取,并創(chuàng)建索引文件進(jìn)行搜索,最終實現(xiàn)對站內(nèi)被檢索數(shù)據(jù)的導(dǎo)航瀏覽,關(guān)鍵字高亮提示,篩選排序等。經(jīng)過測試,檢索效率較高,效果良好。摘要:新速度,數(shù)據(jù)存儲位置等相關(guān)資源。用例2異構(gòu)文檔解析:提供Word、PowerPoint、Ex-cel、PDF等文檔的解

5、析功能,針對各種文檔取出格式,提取有效的正文文檔內(nèi)容,轉(zhuǎn)化成純文本便于后續(xù)處理。用例3異構(gòu)數(shù)據(jù)庫的訪問:針對不同的數(shù)據(jù)庫,提供訪問接口,讀取數(shù)據(jù)庫記錄信息和結(jié)構(gòu)信息,分別構(gòu)造內(nèi)容正文和結(jié)構(gòu)正文。用例4文檔索引管理:文本索引部分可以采用分段存儲格式,按照不同字段和內(nèi)容構(gòu)造搜索引擎索引,便于按照不同字段進(jìn)行索引和排序。用例5用戶檢索服務(wù):文本檢索模塊可以提供領(lǐng)域信息的檢索服務(wù),為用戶提供更加及時、有效的信息。同時減少無關(guān)信息,方便用戶快速定位資源,滿足用戶信息獲取的需要。1.2系統(tǒng)框架設(shè)計中小型網(wǎng)站站內(nèi)搜索引擎依靠現(xiàn)有的硬件平臺與網(wǎng)絡(luò)環(huán)境,針對網(wǎng)站內(nèi)部的非結(jié)構(gòu)化文檔信息以及可能多個異構(gòu)的結(jié)構(gòu)化數(shù)據(jù)

6、庫,提供整體檢索服務(wù)方案。主要內(nèi)容包括異構(gòu)文檔解析、異構(gòu)數(shù)據(jù)庫解析、信息分類系統(tǒng)、文檔索引系統(tǒng)、信息檢索系統(tǒng)、系統(tǒng)管理控制等各種內(nèi)容,系統(tǒng)的框架如圖2所示。圖2系統(tǒng)功能框架整個系統(tǒng)數(shù)據(jù)流程從原始數(shù)據(jù)開始,經(jīng)過格式化分析和處理,得到統(tǒng)一的中間純文本形式。通過信息分類建立不同信息的屬性,在安全管理和系統(tǒng)能夠管理的配合下,完成文檔的索引功能,系統(tǒng)用戶通過信息檢索系統(tǒng)檢索系統(tǒng)數(shù)據(jù),系統(tǒng)的流程如圖3所示。圖3系統(tǒng)功能流程2站內(nèi)搜索引擎系統(tǒng)實現(xiàn)采用Lucene完成內(nèi)核功能非常方便,具體內(nèi)容包括索引生成、索引檢索、管理以及前臺頁面部分。2.1全文檢索索引生成(1文檔索引的建立TXT格式的文本文件可以直接讀取

7、其內(nèi)容,而對于非結(jié)構(gòu)化的文檔,需要利用第三方工具包讀取其內(nèi)容,抽取內(nèi)容之后再將內(nèi)容加入到索引域中。文檔設(shè)計的域包括Filename、Content、Id、Modified、Filetype。利用Lucene框架提供的函數(shù)和Handletxt.java文件中的CreateTxtIndex方法,對TXT文本文件建立索引。而對于非TXT的文檔,例如Word文檔,使用POI解析器提供的函數(shù)實現(xiàn)文本內(nèi)容的提取,我們采用Handledoc. java文件的CreateDocIndex方法。本網(wǎng)站所有文檔的來源都是在網(wǎng)站頁面采用的上傳方式,保存于服務(wù)器上的某個目錄,通過對這個目錄的讀取,得到其中的文檔列表,

8、再分別獲取后綴名,不同的后綴名代表不同的格式,則調(diào)用不同的類來創(chuàng)建索引,例如TXT文檔,調(diào)用前面Handletxt類的CreateTxtIndex方法,Word文檔則調(diào)用Handledoc類的CreateDocIndex方法,如此遞歸,可實現(xiàn)對目錄中所有的文檔建立索引。(2數(shù)據(jù)庫索引的建立數(shù)據(jù)庫的訪問主要通過數(shù)據(jù)庫接口完成,得到數(shù)據(jù)后的索引創(chuàng)建與文本的處理一致。本網(wǎng)站采用的是MySQL數(shù)據(jù)庫。和創(chuàng)建文檔索引時相比,索引域id的值來源于數(shù)據(jù)庫表中的id字段,同時多了個索引域hits,即點擊率。最后,創(chuàng)建一個BuildIndex類來對上述兩個方法進(jìn)行調(diào)用。這樣就已經(jīng)實現(xiàn)了對非結(jié)構(gòu)化文檔和數(shù)據(jù)庫數(shù)據(jù)

9、的索引整合,只要信息需要被搜索,都可以通過其中任何一種方式來加入到索引條目之中。2.2索引檢索及結(jié)果處理檢索代碼包括兩部分,即索引檢索代碼和用戶訪問的界面。索引檢索代碼完成用戶檢索詞到本地索引的查詢功能,查詢結(jié)果中對應(yīng)的關(guān)鍵字要加亮顯示。檢索得到的結(jié)果集放到一個ArrayList容器中,這個容器存儲的其實是一個個對象。每個對象都包含了結(jié)果中的諸如標(biāo)題、內(nèi)容、類型等信息,檢索頁面通過讀取這個結(jié)果集就可以獲取里面所有的結(jié)果對象了。按照檢索的對象也可將檢索分為三種方式:檢索網(wǎng)站內(nèi)的所有數(shù)據(jù),包括數(shù)據(jù)庫信息和文檔,返回的結(jié)果最多且泛,這是一種粗放的檢索;只檢索數(shù)據(jù)庫信息,網(wǎng)站中的新聞,通知等信息都是存

10、放在數(shù)據(jù)中,要檢索它們就可以通過這種方式獲取結(jié)果;只檢索文檔。這三種方式可大抵實現(xiàn)對網(wǎng)站內(nèi)所有數(shù)據(jù)檢索結(jié)果的分門別類,用戶便可更輕松快捷地獲取想要的信息。按照檢索的索引域也可以將檢索分為三種方式:標(biāo)題關(guān)鍵字匹配方式,這樣只要數(shù)據(jù)的標(biāo)題符合檢索關(guān)鍵字便可被檢索到,與內(nèi)容無關(guān);內(nèi)容關(guān)鍵字匹配方式,只要數(shù)據(jù)的內(nèi)容索引域中出現(xiàn)了關(guān)鍵字便可被檢索到,與標(biāo)題無關(guān);標(biāo)題和內(nèi)容聯(lián)合匹配,只要標(biāo)題或者內(nèi)容中出現(xiàn)了關(guān)鍵字,就可以被檢索到,這樣把搜索的范圍進(jìn)一步放大了。2.3索引管理網(wǎng)站的內(nèi)容往往處于動態(tài)更新中,而創(chuàng)建索引的代碼可以一次性地對站內(nèi)所有內(nèi)容創(chuàng)建索引,但是如果每次有新內(nèi)容被添加進(jìn)來,超級管理員都需要重新

11、對所有內(nèi)容創(chuàng)建索引,以達(dá)到索引對內(nèi)容的同步更新。為了更方便管理,超級管理員可以在后臺對新添加進(jìn)網(wǎng)站的信息進(jìn)行斟酌,決定哪些新信息加入索引條目,哪些不加入,同時可以決定是否刪除以往信息的對應(yīng)索引,當(dāng)源信息發(fā)生改變時則更新索引。這里結(jié)合數(shù)據(jù)庫來操作,數(shù)據(jù)庫中字段IsIndexed和IsModified分別表示“是否已創(chuàng)建索引”和“最近是否被修改過”。當(dāng)信息還沒有加入索引條目,超級管理員可以操作讓其加入索引條目。當(dāng)信息已經(jīng)加入了索引條目,則有兩種狀態(tài):信息最近又被修改過,此時超級管理員可以更新索引或者刪除索引;信息沒被修改過,那就只有刪除索引的操作。除了索引的刪除、更新和添加,對索引進(jìn)行備份也是必要

12、的。超級管理員可以定期備份索引到本地文件夾,也可以將本地保存的索引導(dǎo)入到服務(wù)器索引文件夾。3檢索結(jié)果測試3.1搜索引擎系統(tǒng)頁面該網(wǎng)站頁面的搜索引擎模塊主要包括檢索結(jié)果顯示頁面和管理后臺的索引管理頁面。只有超級管理員才具有操作索引的權(quán)限,故關(guān)于索引的操作只有在管理后臺進(jìn)行,而檢索頁面是對所有用戶都可見。對待不同的結(jié)果實行不同的處理,如果是數(shù)據(jù)庫信息,則可以像普通網(wǎng)頁實時查看,并且根據(jù)發(fā)布時間和點擊率進(jìn)行排序。如果是文檔,則可以提供下載,在線預(yù)覽,并且可以根據(jù)用戶選擇的格式返回相應(yīng)的結(jié)果。后臺超級管理頁面如圖4所示,前臺檢索結(jié)果生成頁面如圖5所示。圖4創(chuàng)建索引頁面圖5檢索結(jié)果頁面圖3.2各項功能測

13、試(1創(chuàng)建索引部分測試測試是否實現(xiàn)了對指定數(shù)據(jù)表和指定文件夾內(nèi)所有文件索引的創(chuàng)建,點擊創(chuàng)建索引按鈕,結(jié)果如下:圖6創(chuàng)建索引成功示例生成的索引文件如圖7所示。如果在以上步驟中已創(chuàng)建了索引,搜索“塞林格”,搜索結(jié)果如圖8所示:圖7生成的索引文件(2檢索部分測試首先測試按照索引域來檢索的結(jié)果,默認(rèn)是匹配標(biāo)題,即索引域filename中的項??梢赃x擇“內(nèi)容關(guān)鍵字”,則匹配索引域content中的項。還可以選擇聯(lián)合關(guān)鍵字,得到結(jié)果更多。如圖9所示,根據(jù)“標(biāo)題關(guān)鍵字”匹配,得到一條結(jié)果。根據(jù)“內(nèi)容關(guān)鍵字”匹配,可以得到四條結(jié)果,如圖10所示:圖8搜索結(jié)果圖9按“標(biāo)題關(guān)鍵字”檢索結(jié)果圖圖10按“內(nèi)容關(guān)鍵字”

14、檢索結(jié)果4結(jié)語本文建立了一個基于B/S架構(gòu),針對網(wǎng)站站內(nèi)文本信息的搜索引擎,其中包括主要包括文本信息索引的建立,查詢的構(gòu)造和對結(jié)果的處理。其中索引的建立,一方面包括對站內(nèi)數(shù)據(jù)庫信息的索引建立,另一方面則是對站內(nèi)各種非結(jié)構(gòu)化文本信息進(jìn)行內(nèi)容抽取,并建立索引。然后對索引進(jìn)行查詢,可以采取不同方式,根據(jù)用戶不同的需求返回相應(yīng)查詢結(jié)果。最后,實現(xiàn)了對索引的管理,包括索引的刪除,更新,備份,導(dǎo)入。下一步將實現(xiàn)安全與訪問控制,即針對不同的資源,設(shè)置不同的訪問權(quán)限。按照用戶權(quán)限決定可以訪問到的資源,拒絕未授權(quán)的敏感信息訪問。參考文獻(xiàn)1王學(xué)松.Lucene+Nutch搜索引擎開發(fā)M.北京:人民郵電出版社,20

15、082雷之宇,鄭圣蒲,孫皓.用案例學(xué)Java Web整合開發(fā)M.北京:電子工業(yè)出版社,20093明日科技.JSP開發(fā)技術(shù)大全M.北京:人民郵電出版社, 20074李剛,宋偉,邱哲.AJAX+Lucene構(gòu)建搜索引擎M.北京:人民郵電出版社,20065錢樂秋,趙文耘,牛軍鈺.軟件工程M.北京:清華大學(xué)出版社,20076Pang-Ning TAN,Michael Steinbach等.數(shù)據(jù)挖掘?qū)д揗.北京:人民郵電出版社,20067吳眾欣.Lucene分析與應(yīng)用M.北京:機械工業(yè)出版社, 20088Otis Gospodnetic,Erik Hatcher.Lucene in ActionM.北京

16、:電子工業(yè)出版社,2007(下轉(zhuǎn)第84頁Design and Implementation of Search Engine in the Small orMedium WebsiteZHONG Rui-qiong,ZHOU Li,HAN De-zhi(Cisco School of Informatics,Guangdong University of Foreign Studies ,Guangzhou 510420Keywords:Full Text Retrieval;Search Engine;LuceneSearch engine within the Website is the

17、 full -text search service in a Website,with the coretechnology of information retrieval.Proposes a solution built on the file system and uses the full-text search development kit-lucene,to realize a search engine.Not only the data in the re -lational database but also various unstructured document

18、on the server file system are processed and extracts the information of them.And creates the index file to search,and finally the navi -gation view,keyword highlighting tips,and filter order of the data to be retrieved within the Website.Test result shows that the retrieval efficiency is high.Abstra

19、ct:Construction Method of Test Platform for Testing ofBGP4+Based on Routing SoftwareDING Xue-Lian(Department of Computer Information and Management,Inner Mongol Finance and Economic College,Hohhot 010070Keywords:BGP4+;Zebra;Test PlatformToday,IPv6,which is the next generation Internet protocol,is booming up in the world.In sucha concrete development period for IPv6commercialization,BGP for IPv6,also referred to as BGP4+,which is one of the most important border gateway protocols,has been attached impor -tanc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論