• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      校園網(wǎng)Web搜索引擎的設(shè)計(jì)與實(shí)現(xiàn)

      2011-12-27 09:18:04夏敏捷
      關(guān)鍵詞:分詞搜索引擎校園網(wǎng)

      夏敏捷,徐 飛,夏 冰

      (中原工學(xué)院 ,鄭州450007)

      校園網(wǎng)Web搜索引擎的設(shè)計(jì)與實(shí)現(xiàn)

      夏敏捷,徐 飛,夏 冰

      (中原工學(xué)院 ,鄭州450007)

      在研究Web搜索引擎發(fā)展的基礎(chǔ)上,結(jié)合對校園網(wǎng)搜索引擎具體需求的分析,介紹了校園網(wǎng)搜索引擎系統(tǒng)整個(gè)框架的設(shè)計(jì)及關(guān)鍵技術(shù).應(yīng)用該搜索系統(tǒng)可以有效提高站內(nèi)搜索效率.

      搜索引擎;網(wǎng)絡(luò)爬蟲;Lucene

      隨著校園網(wǎng)建設(shè)的迅速發(fā)展,校園網(wǎng)內(nèi)的信息內(nèi)容正在以驚人的速度增加著.如何更全面、準(zhǔn)確地獲取最新、最有效的信息,已經(jīng)成為我們把握機(jī)遇、迎接挑戰(zhàn)和獲取成功的重要條件.目前雖然已經(jīng)有了像Google、百度這樣優(yōu)秀的通用搜索引擎,但是它們并不能適用于所有的情況和需要.對學(xué)術(shù)搜索來說,一個(gè)公平的排序結(jié)果是非常重要的.另外,由于互聯(lián)網(wǎng)上信息量巨大,遠(yuǎn)遠(yuǎn)超出哪怕是最大的一個(gè)搜索引擎可以完全搜集的能力范圍.因此,本著整合校園網(wǎng)資源的目的,為方便廣大師生對校園網(wǎng)信息的獲取和使用,本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)靈活、可配置、具有良好可擴(kuò)展性的校園網(wǎng)搜索引擎.

      1 搜索引擎的發(fā)展

      在國內(nèi),很多基于主題領(lǐng)域的小型搜索引擎得到很好的發(fā)展.例如,一些音樂搜索引擎以及醫(yī)藥方面的搜索引擎都有很好的應(yīng)用;越來越多的學(xué)校、企業(yè)及比較大型的網(wǎng)站如BBS都開始建立了自己的搜索引擎.在國外,比較著名的有美國教育資源信息搜索的Ask-ERIC,實(shí)現(xiàn)醫(yī)藥文獻(xiàn)搜索的Highwire等.Google公司在2007年決定向小型網(wǎng)站提供專門的搜索服務(wù).這些都表明,小型專用的搜索引擎將在人們獲取Web信息中發(fā)揮更重要的作用[1].

      在小型搜索引擎快速發(fā)展的同時(shí),越來越多的人致力于研究和開發(fā)這些小型搜索引擎技術(shù),Lucene和Nutch是其中的代表成果.Lucene是一個(gè)高性能、純Java的全文檢索引擎,完全免費(fèi)、開源;Lucene幾乎適合于任何需要全文檢索的應(yīng)用,尤其是跨平臺的應(yīng)用.Lucene為Nutch提供了文本索引和查詢服務(wù)的API,而Nutch在Lucene的基礎(chǔ)上實(shí)現(xiàn)了網(wǎng)頁收集與搜索[2].

      小型搜索引擎與通用搜索引擎相比有很多優(yōu)點(diǎn),然而,由于它本身的信息量小,它不可能取代通用搜索引擎.但是,它是對通用搜索引擎的很好補(bǔ)充.隨著Web上信息的進(jìn)一步擴(kuò)大,小型搜索引擎也將會進(jìn)一步發(fā)展,其中已經(jīng)引起人們關(guān)注的垂直搜索引擎將在未來的信息搜索中發(fā)揮更大的作用.

      2 校園網(wǎng)搜索引擎系統(tǒng)設(shè)計(jì)

      本文旨在使用Lucene建立一個(gè)適合校園網(wǎng)使用的Web搜索引擎系統(tǒng),實(shí)現(xiàn)對校園網(wǎng)上常用信息的檢索,能在較短時(shí)間內(nèi)更新頁面信息,實(shí)現(xiàn)有效準(zhǔn)確的中文分詞功能.本系統(tǒng)使用網(wǎng)絡(luò)爬蟲對校園網(wǎng)的網(wǎng)絡(luò)資源進(jìn)行采集和周期性更新,利用Lucene對采集的信息資源進(jìn)行索引和檢索,從而開發(fā)實(shí)現(xiàn)一個(gè)校園網(wǎng)Web搜索引擎系統(tǒng).

      系統(tǒng)主要由4個(gè)模塊組成:信息采集模塊、信息更新模塊、索引模塊、搜索模塊.其中索引模塊又分為3個(gè)部分:解析器(Parser)、分析器(Analyzer)和索引器(Indexer).

      信息采集模塊主要是利用網(wǎng)絡(luò)爬蟲實(shí)現(xiàn)對校園網(wǎng)網(wǎng)頁信息的抓取.

      信息更新模塊負(fù)責(zé)對已有Web信息資源進(jìn)行周期性更新,以保證索引信息與 Web網(wǎng)站信息的一致性.

      索引模塊負(fù)責(zé)對存儲到數(shù)據(jù)庫的網(wǎng)頁文本內(nèi)容進(jìn)行索引.

      搜索模塊負(fù)責(zé)從索引庫中搜索包含查詢關(guān)鍵詞的文檔內(nèi)容,并負(fù)責(zé)用戶從界面輸入查詢關(guān)鍵詞以及搜索結(jié)果信息的返回.校園網(wǎng)搜索引擎系統(tǒng)設(shè)計(jì)如圖1所示.

      圖1 系統(tǒng)設(shè)計(jì)圖

      3 校園網(wǎng)搜索引擎模塊設(shè)計(jì)

      3.1 信息采集模塊設(shè)計(jì)

      網(wǎng)絡(luò)爬蟲對整個(gè)校園網(wǎng)網(wǎng)站的網(wǎng)頁進(jìn)行抓取,生成新的頁面集合并存儲到MySQL數(shù)據(jù)庫中.在抓取頁面的同時(shí),獲取頁面的文本內(nèi)容.由于Lucene只能對文本文件進(jìn)行索引,要想將網(wǎng)頁內(nèi)容加入到索引庫中,必須使用網(wǎng)絡(luò)爬蟲從校園網(wǎng)上抓取網(wǎng)頁URL、網(wǎng)頁文本內(nèi)容、網(wǎng)頁標(biāo)題,并保存在MySQL數(shù)據(jù)庫中,然后從MySQL數(shù)據(jù)庫中將網(wǎng)頁文本內(nèi)容讀取出來以進(jìn)行索引.

      在使用網(wǎng)絡(luò)爬蟲抓取校園網(wǎng)的URL時(shí),會發(fā)現(xiàn)重復(fù)URL抓取的現(xiàn)象,一個(gè)網(wǎng)頁會在多個(gè)網(wǎng)頁中含有對它的連接.為了避免在抓取網(wǎng)頁中出現(xiàn)死循環(huán)現(xiàn)象,我們在設(shè)計(jì)數(shù)據(jù)、存儲URL時(shí)使用唯一存儲,只存儲一次URL,如果有重復(fù)的URL出現(xiàn),就不再往下抓取此網(wǎng)頁以及以下目錄的鏈接.頁面去重放在抓取之前,可以減少重復(fù)的索引,從而提高索引效率.

      3.2 頁面更新模塊設(shè)計(jì)

      在進(jìn)行搜索時(shí),人們總是希望能準(zhǔn)確獲取最新的信息.而每次搜索結(jié)果里面總是有死鏈接或者信息明顯過時(shí)的頁面存在,也有一些新出現(xiàn)的頁面不能被搜索到.頁面更新的功能就是盡量保證本地頁面內(nèi)容和實(shí)際頁面內(nèi)容的一致性.做法就是在信息提取完成后的一段時(shí)間(例如3天)后,搜索引擎調(diào)用網(wǎng)絡(luò)爬蟲對整個(gè)校園網(wǎng)網(wǎng)站的網(wǎng)頁重新抓取,生成新的頁面集合來取代舊的頁面集合.

      3.3 索引模塊設(shè)計(jì)

      索引模塊運(yùn)行過程分為3個(gè)階段:文本提取、分析文本和建立索引,如圖2所示.

      圖2 索引模塊流程

      (1)文本提取.文本提取從MySQL數(shù)據(jù)庫中將網(wǎng)頁文本內(nèi)容、網(wǎng)頁URL、網(wǎng)頁標(biāo)題等讀取出來并轉(zhuǎn)換成Lucene的Field.提取網(wǎng)頁文本之后,就要對文本內(nèi)容進(jìn)行分析了.

      (2)文本分析.文本分析在Lucene中是指將Field文本轉(zhuǎn)換成最基本的索引單元項(xiàng)Term.對于不同的語言,分析器要完成的功能是不同的.譬如對英文來說,要將字母轉(zhuǎn)換成小寫、除去符號等.在校園網(wǎng) Web搜索引擎中,主要針對的是中文搜索,分析器需要實(shí)現(xiàn)的主要是中文分詞.在英文中,單詞之間是以空格作為自然分界符的.而中文只是字、句和段可以通過明顯的分界符來簡單劃分,唯獨(dú)詞沒有一個(gè)形式上的分界符.雖然英文也同樣存在短語之間的劃分問題,但是在詞這一層上,中文比英文要復(fù)雜的多.

      分詞就是將連續(xù)的字序列按照一定的規(guī)范重新組合成詞序列的過程.分詞是網(wǎng)頁分析索引的基礎(chǔ),分詞的準(zhǔn)確性對搜索引擎來說十分重要.但是如果分詞速度太慢,即使再準(zhǔn)確,對于搜索引擎來說也是不可用的,因?yàn)樗阉饕嫘枰幚砗芏嗟木W(wǎng)頁,如果分詞消耗的時(shí)間過長,會嚴(yán)重影響搜索引擎內(nèi)容更新的速度.因此,搜索引擎對于分詞的準(zhǔn)確率和速率都提出了很高的要求[3-4].

      使用Lucene時(shí),選擇一個(gè)合適的分析器是非常關(guān)鍵的.對分析器的選擇沒有唯一的標(biāo)準(zhǔn).本系統(tǒng)采用的分詞器是極易分詞器mmseg4j.從網(wǎng)站上下載極易分詞包,它包含詞庫和分詞jar包.使用時(shí)在Tomcat Web服務(wù)器的安裝目錄下找到Webapps下本系統(tǒng)所在文件夾,在其下新建一個(gè)classes文件夾,用來存放詞典和字庫,將分詞包中的data和dic文件復(fù)制到classes文件中,接著在 WEB-INF下的lib中添加jeanalysis-qw-1.5.3.jar文件.

      最后用文本編輯器打開schema.xml文件,在<types></types>中加入新的字段類型--text_chinese,并在分詞屬性中加入類文件的名稱"jeasy.analysis.MMAnalyzer",表示在創(chuàng)建索引和查詢索引時(shí)都使用的是極易中文分詞器.

      schema.xml文件如下:

      <fieldType name="text_chinese"class="solr.TextField">

      <analyzer class="jeasy.analysis.MMAnalyzer"/>

      </fieldType>

      (3)索引的建立.索引就是為了快速搜索大量的文本.先將文件轉(zhuǎn)化成一個(gè)快速搜索的數(shù)據(jù)結(jié)構(gòu),從而不需要進(jìn)行緩慢的順序掃描,這個(gè)轉(zhuǎn)化過程稱為建立索引.

      Lucene采用的是倒排索引結(jié)構(gòu)[5],將輸入字符流存儲在一個(gè)反索引的數(shù)據(jù)結(jié)構(gòu)中.這個(gè)數(shù)據(jù)結(jié)構(gòu)在允許關(guān)鍵詞查詢的同時(shí),有效地利用了磁盤空間.這個(gè)結(jié)構(gòu)使用從輸入中提取的單詞而不是處理的文檔作為查詢的入口.也就是說,這個(gè)結(jié)構(gòu)為提供快速查詢做了優(yōu)化,即形成關(guān)鍵詞到文檔號的映射.僅僅知道關(guān)鍵詞在哪些文檔中還不夠,還需要知道關(guān)鍵詞在文檔中出現(xiàn)的次數(shù)和出現(xiàn)的位置.通常有2種位置:字符位置和關(guān)鍵詞位置.字符位置是記錄關(guān)鍵詞在文檔中是第幾個(gè)字符(優(yōu)點(diǎn)是關(guān)鍵詞高亮顯示時(shí)定位快);關(guān)鍵詞位置是記錄關(guān)鍵詞在文檔中是第幾個(gè)關(guān)鍵詞(優(yōu)點(diǎn)是節(jié)約索引空間、詞組查詢快).Lucene同時(shí)使用了這2種位置.

      以上就是Lucene索引結(jié)構(gòu)中最核心的部分.關(guān)鍵詞是按照字符順序排列的,Lucene可以用二元搜索算法快速定位關(guān)鍵詞.

      為了減小索引文件的大小,Lucene對索引還使用了壓縮技術(shù).首先,對文檔中的關(guān)鍵詞進(jìn)行壓縮,將關(guān)鍵詞壓縮為前綴長度加后綴;其次,大量用到的是對數(shù)字的壓縮,數(shù)字只保存與上一個(gè)值的差值,這樣也減小數(shù)字的長度,進(jìn)而減少保存該數(shù)字需要的字節(jié)數(shù).在這種索引結(jié)構(gòu)下,文檔通常非常小,因而,整個(gè)過程的時(shí)間是毫秒級的.

      3.4 搜索模塊的設(shè)計(jì)

      對需要的網(wǎng)頁文件索引完畢以后,就可以對用戶提供搜索服務(wù)了.搜索模塊負(fù)責(zé)接受用戶提交的檢索請求,并根據(jù)請求訪問相應(yīng)的Lucene索引數(shù)據(jù)庫,最后將結(jié)果集按照相關(guān)度排序后返回給用戶.搜索的處理流程如圖3所示.

      圖3 搜索流程圖

      用戶通過用戶界面提出搜索請求,Lucene索引器接受用戶請求,查找本地索引庫,找到與輸入相關(guān)的內(nèi)容,按照某種算法排序后將相關(guān)結(jié)果信息返回給用戶.這里主要利用Servlet技術(shù)實(shí)現(xiàn),用戶通過POST方法從客戶端向服務(wù)器端提交查詢條件,服務(wù)器端通過Tomcat的Servlet容器接收并分析提交的參數(shù),再調(diào)用系統(tǒng)的搜索模塊進(jìn)行搜索操作.最后把搜索的結(jié)果以HTTP消息包的形式發(fā)送給客戶端,從而完成一次搜索操作.搜索結(jié)果頁面如圖4所示.

      圖4 搜索結(jié)果頁面

      4 結(jié) 語

      本校園網(wǎng)Web搜索引擎在配置Tomcat服務(wù)器后即可投入使用,但要成為一個(gè)好的和有用的校園網(wǎng)搜索引擎和教育信息搜索引擎,還面臨著許多挑戰(zhàn).首先,為進(jìn)一步提高檢索準(zhǔn)確性,針對中文的特點(diǎn),需解決人名、地名、專業(yè)詞匯、新生詞匯的識別問題,實(shí)現(xiàn)一個(gè)自動更新的詞典,提高中文分詞的準(zhǔn)確度;其次需要為校園網(wǎng)用戶提供個(gè)性化檢索、個(gè)性化排序等功能,滿足用戶多樣的信息需求;其他如網(wǎng)頁重要性評估、結(jié)果得分算法、用戶行為分析等問題.這些問題有待進(jìn)一步研究和改進(jìn),從而提高校園網(wǎng)Web搜索用戶獲取知識與信息的效率.

      [1] 孟曉明.淺談搜索引擎及其發(fā)展趨勢[J].計(jì)算機(jī)應(yīng)用,2004(8):34-36.

      [2] 馮斌.基于Lucene小型搜索引擎的研究與實(shí)現(xiàn)[D].武漢:武漢理工大學(xué),2008.

      [3] 陳康,滕育平.中文信息檢索引擎的分詞與檢索技術(shù)[J].計(jì)算機(jī)應(yīng)用,2004(7):30-33.

      [4] 蔡勇智.基于最大匹配分詞算法的中文詞組粗分模型[J].計(jì)算機(jī)應(yīng)用,2006(9):12-15.

      [5] 胡俊,李星.校園網(wǎng)信息資源搜索引擎的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2006(7):22-26.

      The Design and Implementation of Campus Web Search Engine

      XIA Min-jie,XU Fei,XIA Bing
      (Zhongyuan University of Technology,Zhengzhou 450007,China)

      This paper studies the development of Web search engine.Based on the combination of the specific needs of the campus network search engines,the framework design of campus network search engine system and key technologies are introduced.Application of the search system can effectively improve the efficiency of the web site search.

      search engine;Web crawler;Lucene

      TP391

      A

      10.3969/j.issn.1671-6906.2011.05.007

      1671-6906(2011)05-0027-04

      2011-07-30

      河南省科技攻關(guān)計(jì)劃項(xiàng)目(092102310038;092102210029)

      夏敏捷(1974-),男,河南三門峽人,副教授.

      猜你喜歡
      分詞搜索引擎校園網(wǎng)
      數(shù)字化校園網(wǎng)建設(shè)及運(yùn)行的幾點(diǎn)思考
      甘肅教育(2020年18期)2020-10-28 09:05:54
      結(jié)巴分詞在詞云中的應(yīng)用
      試論最大匹配算法在校園網(wǎng)信息提取中的應(yīng)用
      電子制作(2019年10期)2019-06-17 11:45:26
      NAT技術(shù)在校園網(wǎng)中的應(yīng)用
      電子制作(2017年8期)2017-06-05 09:36:15
      值得重視的分詞的特殊用法
      網(wǎng)絡(luò)搜索引擎亟待規(guī)范
      VPN在校園網(wǎng)中的集成應(yīng)用
      基于Nutch的醫(yī)療搜索引擎的研究與開發(fā)
      廣告主與搜索引擎的雙向博弈分析
      高考分詞作狀語考點(diǎn)歸納與疑難解析
      塔城市| 紫金县| 北辰区| 通州市| 木兰县| 安丘市| 弥渡县| 高邑县| 赣州市| 连云港市| 新郑市| 新竹县| 商洛市| 南充市| 太湖县| 合山市| 维西| 吉安市| 呼伦贝尔市| 郯城县| 临漳县| 顺昌县| 沙洋县| 荆州市| 建湖县| 贵港市| 嵊州市| 八宿县| 常宁市| 屯门区| 青阳县| 东兴市| 桃江县| 萨迦县| 高阳县| 汉阴县| 康乐县| 开化县| 金寨县| 庆城县| 旅游|