亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Heritrix和Lucene的專題搜索引擎研究

        2012-11-14 04:31:38賈超衛(wèi)文學(xué)
        中國科技信息 2012年10期
        關(guān)鍵詞:搜索引擎用戶信息

        賈超 衛(wèi)文學(xué)

        山東科技大學(xué)信息科學(xué)與工程學(xué)院,山東 青島 266590

        基于Heritrix和Lucene的專題搜索引擎研究

        賈超 衛(wèi)文學(xué)

        山東科技大學(xué)信息科學(xué)與工程學(xué)院,山東 青島 266590

        專題搜索引擎也稱垂直搜索引擎,主要用來滿足特定領(lǐng)域的用戶需求。Heritrix是開源的網(wǎng)絡(luò)爬蟲,Heritrix的WebUI啟動(dòng)方式并不易用于廣大用戶。本文改變了往常對Heritrix用法,摒棄了Heritrix的WebUI啟動(dòng)方式,對Heritrix源碼進(jìn)行修改,將Lucene整合到Heritrix中,構(gòu)建成一個(gè)完整的搜索引擎,并通過監(jiān)聽器監(jiān)聽搜索引擎狀態(tài),使搜索引擎能夠進(jìn)行自動(dòng)爬取和數(shù)據(jù)更新。同時(shí),本文添加了網(wǎng)頁過濾模塊以及對查詢結(jié)果排序算法進(jìn)行了改進(jìn),提高了搜索引擎的易用性和查詢的準(zhǔn)確率。

        專題搜索引擎;Heritrix;Lucene;排序算法

        thematic search engine; Heritrix; Lucene; sorting algorithm

        引 言

        萬維網(wǎng)上信息浩瀚萬千,而且毫無秩序,所有的信息像汪洋上的一個(gè)個(gè)小島,而搜索引擎正如一副地圖可以讓用戶一目了然[1]。但在使用通用的搜索引擎時(shí),返回的結(jié)果往往成千上萬,用戶需要花費(fèi)大量的時(shí)間甄選自己真正感興趣的信息,很難準(zhǔn)確返回用戶需求[2]。垂直搜索引擎正好為解決該問題,提出了很好的解決方案,它是一個(gè)針對某個(gè)行業(yè)的專業(yè)搜索引擎,是對網(wǎng)頁庫中某類專門信息的一次重新整合,為某一特定領(lǐng)域、某一特定人群或某一特定需求提供有一定價(jià)值的信息和服務(wù)[3]。

        常見Heritrix的使用方法往往是通過WebUI方式啟動(dòng)并進(jìn)行相應(yīng)的爬取配置后,才能進(jìn)行爬取。該方法并不容易被用戶接受和使用,同時(shí)會爬取大量的冗余和無用的網(wǎng)頁。本文通過將Lucene整合的Heritrix中,在網(wǎng)頁下載前,進(jìn)行網(wǎng)頁過濾,并對查詢結(jié)果排序的算法進(jìn)行改進(jìn),提高了查詢的準(zhǔn)確率,搜索引擎會根據(jù)專題的相關(guān)配置信息進(jìn)行自動(dòng)的爬取和更新。

        1 Heritrix與Lucene介紹

        專題搜索引擎的實(shí)現(xiàn)過程,主要分為三個(gè)步驟:(1)抓取網(wǎng)頁。(2)對網(wǎng)頁進(jìn)行處理,建立索引文件庫。(3)進(jìn)行查詢。本文中使用Heritrix實(shí)現(xiàn)從萬維網(wǎng)上抓取網(wǎng)頁,Lucene負(fù)責(zé)對網(wǎng)頁進(jìn)行處理和查詢。

        1.1 網(wǎng)絡(luò)爬蟲Heritrix

        Heritrix是一個(gè)由Java開發(fā)的、開源的Web網(wǎng)絡(luò)爬蟲,用戶使用它從網(wǎng)絡(luò)上抓取特定的網(wǎng)頁或文檔等資源[4]。Heritrix可以通過Web UI的方式來啟動(dòng)、設(shè)置爬行參數(shù)并監(jiān)控爬行,其出色之處在于它的擴(kuò)展性,開發(fā)者可以擴(kuò)展它的各個(gè)組件,來實(shí)現(xiàn)自己的抓取邏輯。雖然Heritrix功能強(qiáng)大,但其配置復(fù)雜,而且官方只在Linux系統(tǒng)上測試通過,用戶難以上手,這也是本文將要解決的技術(shù)難點(diǎn)之一。

        Heritrix采用了模塊化的設(shè)計(jì),用戶可以根據(jù)需要選擇使用的模塊。它主要由核心類(core classes)和插件模塊(pluggable modules)構(gòu)成。核心類可以配置,但不能被覆蓋,插件模塊可以由第三方模塊取代。所以就可以用實(shí)現(xiàn)了特定抓取邏輯的第三方模塊來取代默認(rèn)插件模塊,從而滿足自己特定的抓取需求。Heritrix的整體結(jié)構(gòu)如圖1所示。

        圖1 Heritrix整體結(jié)構(gòu)

        其中CrawlController(下載控制器)是整個(gè)下載過程的總控制者,整個(gè)抓取工作的啟動(dòng)者,決定整個(gè)抓取任務(wù)的開始和結(jié)束。每個(gè)URI都有一個(gè)獨(dú)立的線程,它從邊界Frontier(控制器)獲取新的URI,然后傳遞給Processor chains(處理鏈)交由系統(tǒng)Processor(處理器)處理[5]。

        1.2 檢索工具包Lucene

        Lucene是一套用于全文檢索和搜尋的開放源代碼,由Apache軟件基金會支持和提供[6]。Lucene提供了一個(gè)簡單卻強(qiáng)大的應(yīng)用程式接口,能夠?qū)崿F(xiàn)全文索引和檢索,是目前最受歡迎的免費(fèi)java信息檢索程序。Lucene最初是由Doug Cutting開發(fā)的,在SourceForge的網(wǎng)站上提供下載[7]。在2001年9月作為高質(zhì)量的開源Java產(chǎn)品加入到Apache軟件基金會的 Jakarta家族中。隨著每個(gè)版本的發(fā)布,這個(gè)項(xiàng)目得到明顯的增強(qiáng),也吸引了更多的用戶和開發(fā)人員。Lucene的各組件及工作如圖2所示。

        圖2 Lucene的各組件及工作

        Document對象代表被索引文檔,IndexWriter通過方法addDocument()將文檔添加到索引中,實(shí)現(xiàn)創(chuàng)建索引的過程。Lucene的索引時(shí)應(yīng)用反向索引。當(dāng)用戶有請求時(shí),Query代表用戶的查詢語句。IndexSearcher通過方法search()搜索Lucene Index。IndexSearcher計(jì)算term weight和score并且將結(jié)果返回給用戶。返回給用戶的文檔集合用TopDocsCollector表示。

        2 整合Heritrix與Lucene的專題搜索引擎

        本文設(shè)計(jì)開發(fā)的專題搜索引擎具有以下四個(gè)技術(shù)創(chuàng)新點(diǎn):專題搜索引擎自動(dòng)運(yùn)行、摒棄Heritrix傳統(tǒng)的WebUI啟動(dòng)方式、網(wǎng)頁過濾、查詢結(jié)果排序算法改進(jìn)。

        2.1 專題搜索引擎設(shè)計(jì)和自動(dòng)運(yùn)行

        本文設(shè)計(jì)的專題搜索引擎包括爬取器(網(wǎng)絡(luò)爬蟲)、索引器、查詢器和控制中心四個(gè)模塊。四個(gè)模塊的運(yùn)行協(xié)作關(guān)系如圖3所示。

        圖3 專題搜索引擎模塊運(yùn)行協(xié)作關(guān)系圖

        爬取器主要負(fù)責(zé)網(wǎng)頁爬取,為索引器提供索引文檔;索引器負(fù)責(zé)對爬取的網(wǎng)頁建立倒排索引,供查詢器進(jìn)行搜索;查詢器負(fù)責(zé)用戶查詢;控制中心負(fù)責(zé)監(jiān)聽爬取器、索引器和查詢器的運(yùn)行狀態(tài)以及根據(jù)專題配置信息啟動(dòng)爬取器或索引器,以實(shí)現(xiàn)專題搜索引擎的自動(dòng)爬取和數(shù)據(jù)更新。

        為了保證搜索引擎的自動(dòng)運(yùn)行和各模塊間的協(xié)調(diào)工作,本文分別為爬取器、索引器和查詢器設(shè)定了兩種運(yùn)行狀態(tài),0表示空閑狀態(tài),1表示運(yùn)行狀態(tài)。

        爬取器與索引器的運(yùn)行存在一定的順序,二者不能同時(shí)運(yùn)行,只有當(dāng)爬取器運(yùn)行完之后,才能運(yùn)行索引器,若網(wǎng)頁數(shù)據(jù)沒有下載更新,索引器是不能繼續(xù)運(yùn)行的。因此,需要為爬取器和索引器設(shè)定運(yùn)行狀態(tài),并在控制中心中設(shè)置監(jiān)聽器,定時(shí)監(jiān)聽二者的運(yùn)行狀態(tài),協(xié)調(diào)二者工作。另一個(gè)問題是如何控制爬取器的自動(dòng)運(yùn)行,我們的解決方法是在數(shù)據(jù)庫中保存搜索引擎爬取時(shí)間間隔取值,這里爬取時(shí)間間隔取值是指從爬取器上一次爬取完到下一次開始爬取之間的時(shí)間間隔。當(dāng)監(jiān)聽器檢測到爬取器處于空閑(等待)狀態(tài)時(shí),且爬取器等待時(shí)間超過數(shù)據(jù)庫中設(shè)置的爬取時(shí)間間隔時(shí),控制中心會啟動(dòng)爬取器進(jìn)行網(wǎng)頁爬取。

        2.2 摒棄Heritrix WebUI啟動(dòng)方式

        Heritrix的WebUI啟動(dòng)方式雖然廣泛被開發(fā)人員使用,但其配置繁瑣,不具備易用性。無法動(dòng)態(tài)設(shè)置爬取網(wǎng)站和爬取深度,不能自動(dòng)的持久運(yùn)行,對于普通用戶很難掌握并使用。本文摒棄Heritrix的WebUI啟動(dòng)方式,通過配置CrawlController類來啟動(dòng)抓取任務(wù)過。Heritrix啟動(dòng)核心代碼如下:

        SystemInfoDao負(fù)責(zé)讀取專題的配置信息,比如爬取深度、種子鏈接等。HeritrixCrawlInfo負(fù)責(zé)保存每一次爬取任務(wù)的專題配置信息。當(dāng)然,相關(guān)的配置信息是提前保存在數(shù)據(jù)庫中的,為不同的專題提供不同的配置信息,避免了每次都要設(shè)置配置信息。

        通過控制中心的協(xié)調(diào)以及摒棄Web UI啟動(dòng)方式,用戶只需要配置相關(guān)專題領(lǐng)域的信息就可以高效的檢索相關(guān)專題領(lǐng)域的信息,用戶不在需要關(guān)心搜索引擎的啟動(dòng)和運(yùn)行,方便了用戶的使用。

        2.3 網(wǎng)頁過濾

        當(dāng)使用Heritrix爬取網(wǎng)頁時(shí),磁盤上會存放大量的網(wǎng)頁文件,而且其中會有很多無用和冗余的網(wǎng)頁信息,占用大量的磁盤空間。通過網(wǎng)頁過濾,系統(tǒng)僅爬取與專題領(lǐng)域相關(guān)的網(wǎng)頁,可以提高網(wǎng)頁爬取的準(zhǔn)確性和節(jié)省磁盤空間,即在網(wǎng)頁下載到本地磁盤之前,對網(wǎng)頁數(shù)據(jù)進(jìn)行挖掘分析。Heritrix在下載某一網(wǎng)頁或某一文檔之前,我們先對該網(wǎng)頁或文檔對應(yīng)的文本數(shù)據(jù)進(jìn)行信息分析,判斷是否包含相關(guān)專題領(lǐng)域的關(guān)鍵詞,當(dāng)然相關(guān)專題領(lǐng)域的關(guān)鍵詞事先存儲在數(shù)據(jù)庫,由專業(yè)領(lǐng)域人員來設(shè)定。若該網(wǎng)頁或文檔包含相關(guān)專題領(lǐng)域信息,則下載該網(wǎng)頁或文檔,否則拋棄該網(wǎng)頁或文檔,繼續(xù)處理其它鏈接。

        2.4 查詢結(jié)果排序算法設(shè)計(jì)

        查詢結(jié)果排序算法實(shí)際是指文檔得分算法,為了提高查詢的準(zhǔn)確率,本文對文檔的得分算法進(jìn)行了改進(jìn)。通層次分析法(AHP),為相關(guān)專題領(lǐng)域關(guān)鍵詞設(shè)定權(quán)重(用weight表示),通過設(shè)定關(guān)鍵詞權(quán)重,更能體現(xiàn)專題領(lǐng)域信息的專業(yè)性。當(dāng)同一信息在多個(gè)網(wǎng)頁或網(wǎng)站被轉(zhuǎn)載或發(fā)表時(shí),從側(cè)面反映出其存在較高的價(jià)值和實(shí)用性。因此,本文在排序算法中引入了一項(xiàng)評估指標(biāo)—網(wǎng)頁信息重復(fù)率(用pac表示),網(wǎng)頁信息重復(fù)率的權(quán)重通過德爾菲法(Delphi)來獲取,同樣我們引入傳播范圍這一評估指標(biāo),傳播范圍(用ptc表示)在本文中代表同一信息出現(xiàn)在多少不同的網(wǎng)站上,當(dāng)然其權(quán)重同樣是通過德爾菲法(Delphi)來獲取。

        本文將文檔的最后的得分劃分為兩部分:Lucene原始文檔得分和引進(jìn)評估指標(biāo)算法得分,兩部分得分之和為文檔的最后得分。Lucene的文檔得分算法,具體公式如下:2.0[M].人民郵電出版社,2007.

        tf的全稱為Term Frequency,也就是詞條頻率的一次。idf的全稱為Inversed Document Frequency,它表示反轉(zhuǎn)文檔頻率。Boost指在建立索引時(shí),對每個(gè)Field設(shè)置的一種激勵(lì)因子[8]。

        引進(jìn)評估指標(biāo)算法得分算法,具體得分計(jì)算如下:

        兩部分得分之后即為文檔得分,查詢結(jié)果按照文檔得分的高低顯示,當(dāng)然文檔內(nèi)容重復(fù)率達(dá)到規(guī)定取值時(shí),取文檔得分較高者顯示。最終通過引入新的得分算法,在一定程度上既能提高了查詢的準(zhǔn)確率又能降低了查詢結(jié)果的重復(fù)率。

        2.5 搜索引擎應(yīng)用

        本文設(shè)計(jì)開發(fā)的搜索引擎已被成功的應(yīng)用到一涉腐輿情預(yù)警系統(tǒng)中。搜索引擎查詢結(jié)果界面如圖4所示。

        圖4 搜索引擎查詢結(jié)果界面

        3 結(jié)語

        本文通過將Heritrix和Lucene進(jìn)行有效的結(jié)合,構(gòu)建成一個(gè)完整的搜索引擎。并通過對源碼的修改和封裝實(shí)現(xiàn)了專題搜索引擎的自動(dòng)運(yùn)行,用戶只需配置相應(yīng)的專題信息即可使用其檢索功能,無需進(jìn)行繁瑣的配置和關(guān)心搜索引擎的運(yùn)行。本文的主要?jiǎng)?chuàng)新點(diǎn)有專題搜索引擎的自動(dòng)運(yùn)行,易于普通用戶的使用,提高了易用性;摒棄Heritrix的傳統(tǒng)用法,避免了繁瑣的配置過程;進(jìn)行網(wǎng)頁過濾,避免爬取大量無用的和冗余的網(wǎng)頁信息,節(jié)省了磁盤空間;改進(jìn)文檔得分算法,提高查詢的準(zhǔn)確率和在一定程度上實(shí)現(xiàn)了檢索去重。

        [1]http://zh.wikipedia.org/wiki/%E6%90%9C%E7 %B4%A2%E5%BC%95%E6%93%8E

        [2]李世明,趙恒永.專題搜索引擎研究與實(shí)現(xiàn)[J].電子科學(xué)技術(shù)評論,2005.

        [3]高偉峰.基于Heritrix的主題網(wǎng)絡(luò)爬蟲設(shè)計(jì)與實(shí)現(xiàn)[J].南寧職業(yè)技術(shù)學(xué)院,2011.

        [4]孟祥成.基于Lucene和Heritrix技術(shù)搜索引擎的設(shè)計(jì)與實(shí)現(xiàn)[J].中國現(xiàn)代教育裝備,2010.

        [5]http://www.chineselinuxuniversity.net/ articles/40890.shtml

        [6]白坤,耿國華.基于Lucene/Heritrix的垂直搜索引擎的研究與應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2009.

        [7]Erik Hatcher,Otis Gospodetic,Lucene In Action [M]. Manning Publications Co.2005.

        [8]邱哲,符滔滔.開發(fā)自己的搜搜引擎Lucene

        Research on the topical search engine based on Heritrix and Lucene

        JIA Chao WEI Wen-xue
        College of Information Science & Engineering , Shandong University of Science & Technology , Qingdao Shandong 266590 , China

        thematic search engine, also known as vertical search engines, mainly used to meet specific user needs. Heritrix is an open source Web crawler Heritrix the WebUI start way is not easy for the majority of users. Changed the usual Heritrix usage abandon the way of the Heritrix of WebUI start Heritrix source code be modified to integrate Lucene into Heritrix build into a complete search engine, and through the listener to monitor the status of the search engine, search engines can automatic crawling and data updates. Meanwhile, the paper added Web filtering module, and query results sorting algorithm has been improved, easyto-use search engine and query accuracy.

        TP393

        A

        10.3969/j.issn.1001-8972.2012.10.050

        賈超(1989-),男,山東泰安人, 碩士研究生,主要研究方向?yàn)檐浖こ?/p>

        猜你喜歡
        搜索引擎用戶信息
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        網(wǎng)絡(luò)搜索引擎亟待規(guī)范
        如何獲取一億海外用戶
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        基于Nutch的醫(yī)療搜索引擎的研究與開發(fā)
        廣告主與搜索引擎的雙向博弈分析
        搜索,也要“深搜熟濾”
        国产呦精品系列在线播放| 激情综合五月| 国产成人精品a视频| 国产精品99久久久久久宅男| 日产精品一区二区三区| 国产精品自拍视频免费看| 久久日日躁夜夜躁狠狠躁| 亚洲第一页综合图片自拍| 亚洲国产精品自拍一区| 在线免费观看亚洲天堂av| 国产成人大片在线播放| 免费黄色影片| 久99久热只有精品国产男同| 免费人成视频网站在线| 按摩师玩弄少妇到高潮av| 亚洲一区自拍高清亚洲精品| 日本丶国产丶欧美色综合| 日本女优一区二区在线免费观看| 国产三级精品av在线| 色狠狠色噜噜av天堂一区| 日韩精品成人一区二区三区| 国产美女久久久亚洲综合| 精品少妇一区二区三区免费| 小鲜肉自慰网站| 好爽受不了了要高潮了av| 国产少妇一区二区三区| 夜夜爽夜夜叫夜夜高潮| 午夜福利92国语| 久久久久久久尹人综合网亚洲| 天堂一区二区三区精品| 少妇粉嫩小泬喷水视频| 天天爱天天做天天爽| 日韩av在线不卡观看| 日韩精品第一区二区三区| 欧美bbw极品另类| 乱人伦视频69| 草青青在线视频免费观看| 国产免费a∨片在线软件| 九九精品视频在线观看| 亚洲精品中文字幕乱码人妻| 亚洲精品国产第一区二区|