999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Heritrix與Lucene的垂直搜索引擎研究

2008-12-31 00:00:00鄭如濱
電腦知識(shí)與技術(shù) 2008年29期

摘要:垂直搜索是針對某一個(gè)行業(yè)的專業(yè)搜索引擎,是搜索引擎的細(xì)分和延伸,是對網(wǎng)頁庫中的某類專門的信息進(jìn)行一次整合,定向分字段抽取出需要的數(shù)據(jù)進(jìn)行處理后再以某種形式返回給用戶。該文結(jié)合使用Heritrix與Lucene對學(xué)校新聞網(wǎng)站網(wǎng)頁進(jìn)行抓取并建立索引,建立相對應(yīng)的新聞垂直搜索引擎系統(tǒng)。

關(guān)鍵詞:垂直搜索;Heritrix;Lucene;中文分詞;搜索引擎

中圖分類號:TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號:1009-3044(2008)29-0350-03

Research on the Vertical Search Engine Based on Heritrix and Lucene

ZHENG Ru-bin1, SA Li1, XIE Ting2

(1.Computer Science Engineering College,Jimei University,Xiamen 361021,China;2.Chengyi College,Jimei University,Xiamen 361021,China)

Abstract: Vertical search engine focuses on some special fields. It’s an extension and subdivision of search engine. It can integrate and extract the user-preferred information resided in the collection of web pages and return the more readable search results to the users. This paper constructs a news vertical search engine system which adopts the Heritrix and Lucene.

Key words: vertical search engine; heritrix; lucene; Chinese word segmentation; search engine

1 引言

隨著互聯(lián)網(wǎng)的迅猛發(fā)展, 各式各樣的網(wǎng)站數(shù)量急劇增加,互聯(lián)網(wǎng)上的信息的也呈指數(shù)級增長。如何使用戶迅速地從互聯(lián)網(wǎng)上查找到自己所需要的信息成為了一個(gè)研究的熱點(diǎn)。在這樣的背景下,Yahoo、Google、Baidu等公司逐漸加入搜索引擎市場。而傳統(tǒng)的搜索引擎是通用搜索引擎,其所呈現(xiàn)給用戶的檢索結(jié)果是非結(jié)構(gòu)化的網(wǎng)頁信息摘要,這種非結(jié)構(gòu)化的網(wǎng)頁信息信息量大,但查詢不準(zhǔn)確、深度不夠。垂直搜索引擎(Vertical Search Engine)是針對某一個(gè)領(lǐng)域的信息,為特定用戶提供一種專業(yè)、精確、深入的檢索與呈現(xiàn)。它所呈現(xiàn)給用戶的搜索結(jié)果的范圍是經(jīng)過篩選的、限定范圍的,具有一定的行業(yè)色彩,相較通用搜索引擎的無序化搜索結(jié)果,垂直搜索引擎可以給用戶以更準(zhǔn)確的、結(jié)構(gòu)化的結(jié)果。常見的垂直搜索引擎有酷訊(kooxoo.com)的火車票搜索,搜房(soufun.com)的房屋搜索。本文主要討論如何利用Heritrix與Lucene構(gòu)建一個(gè)新聞垂直搜索引擎系統(tǒng),使用戶可以充分享受垂直搜索引擎技術(shù)所帶來的好處。

2 垂直搜索引擎關(guān)鍵技術(shù)

垂直搜索引擎系統(tǒng)主要是由以下幾項(xiàng)技術(shù)構(gòu)成,網(wǎng)頁爬蟲(Web Crawler)、網(wǎng)頁信息抽取(Web Information Retrieval)、中文分詞(Chinese word segmentation)、建立與搜索索引(Index)。網(wǎng)頁爬蟲通過指定的種子(Seeds),沿著頁面中所包含的鏈接不斷的將網(wǎng)頁抓取下來。對抓取下來的網(wǎng)頁的內(nèi)容進(jìn)行分析,可以確定所需要抽取的結(jié)構(gòu)化信息,然后將網(wǎng)頁內(nèi)容解析成格式化的信息。最后對這些已經(jīng)格式化的信息,通過中文分詞建立索引。搜索時(shí),就可以通過快速檢索索引找到關(guān)鍵詞所對應(yīng)的結(jié)構(gòu)化信息。見圖1。

2.1 網(wǎng)絡(luò)爬蟲

網(wǎng)絡(luò)爬蟲也被稱為網(wǎng)絡(luò)蜘蛛(Spider)或者是網(wǎng)絡(luò)機(jī)器人,它是一個(gè)自動(dòng)抓取網(wǎng)頁的程序,是搜索引擎的重要組成部分。網(wǎng)絡(luò)爬蟲將一個(gè)或者若干個(gè)初始URL作為種子,不斷的抓取頁面中符合條件的新的URL所指向的頁面。當(dāng)滿足一定停止條件時(shí),網(wǎng)絡(luò)爬蟲終止運(yùn)行。

常見的網(wǎng)絡(luò)爬蟲有Larbin與Heritrix。Larbin由法國的年輕人 Sébastien Ailleret 獨(dú)立開發(fā),一個(gè)簡單的larbin的爬蟲可以每天抓取500萬的網(wǎng)頁。我們的系統(tǒng)中使用的則是Heritrix爬蟲。它是一個(gè)由Java開發(fā)的、開源的Web網(wǎng)絡(luò)爬蟲項(xiàng)目。其最出色之處在于它的可擴(kuò)展性,開發(fā)者可以擴(kuò)展它的各個(gè)組件,來實(shí)現(xiàn)自己的抓取邏輯。

2.2 網(wǎng)頁信息抽取

網(wǎng)絡(luò)爬蟲所抓取的內(nèi)容是無結(jié)構(gòu)化的網(wǎng)頁。構(gòu)建垂直搜索引擎,需要將網(wǎng)頁中的非結(jié)構(gòu)化的數(shù)據(jù)按照一定的需求抽取出來,形成結(jié)構(gòu)化的數(shù)據(jù)。這是垂直搜索引擎與通用搜索引擎的一大差別。

系統(tǒng)結(jié)合正則表達(dá)式和HTMLParser將網(wǎng)頁解析為格式化的文本。一般的網(wǎng)頁文件是由元素組成(element)。絕大多數(shù)元素是以一個(gè)起始標(biāo)記開始,一個(gè)結(jié)尾標(biāo)記結(jié)束,起始標(biāo)記和結(jié)尾標(biāo)記之間的部分是元素體。每一個(gè)元素都有名稱和一些可選的屬性,這些都在起始標(biāo)記內(nèi)表明。如 是起始與結(jié)尾標(biāo)記,他們之間的部分是HTML元素體。而正則表達(dá)式是功能強(qiáng)大的文本分析工具,結(jié)合上面所描述的網(wǎng)頁文件的特征,我們可以利用正則表達(dá)式提取HTML文本。但僅僅使用正則表達(dá)式提取文本,需要考慮很多細(xì)節(jié),通用性不強(qiáng),所以我們結(jié)合HTMLParser來提取網(wǎng)頁信息。HTMLParser是一個(gè)開源的Java庫,它提供接口,支持線形和嵌套的解析HTML文本。解析文本的最好方法就是結(jié)合正則表達(dá)式與HTMLParser。

按照用戶的需求,我們結(jié)合使用正則表達(dá)式與HTMLParser從網(wǎng)頁中抽取需要的信息,并形成結(jié)構(gòu)化的文本,以供后續(xù)處理。

2.3 中文分詞與全文索引

對于結(jié)構(gòu)化的文本,可以使用Lucene建立索引以供快速查找。Lucene是一個(gè)用Java寫的全文索引引擎工具包,它可以方便的嵌入到各種應(yīng)用中實(shí)現(xiàn)針對應(yīng)用的全文索引/檢索功能。它使用一種倒排的技術(shù),倒排是一種面向單詞的索引機(jī)制,通常它由詞(關(guān)鍵字)和出現(xiàn)情況兩部分組成。對索引中的每個(gè)詞,都跟隨一個(gè)列表(位置表)用來記錄單詞在所有文檔中出現(xiàn)的位置。當(dāng)搜索索引的時(shí)候,通過關(guān)鍵詞就可以迅速找到該關(guān)鍵詞在所有文章中出現(xiàn)的位置。

倒排技術(shù)的一個(gè)關(guān)鍵之處在于確定關(guān)鍵詞,然而Lucene本身并不能很好的支持中文分詞,這就導(dǎo)致了Lucene并不能很好的處理中文網(wǎng)頁。常見的分詞有中科院的ICTCLAS分詞與JE分詞。系統(tǒng)中我們采用了JE分詞來進(jìn)行中文分詞。

3 新聞垂直搜索引擎系統(tǒng)的設(shè)計(jì)

學(xué)校新聞搜索引擎系統(tǒng)是一個(gè)針對學(xué)校新聞網(wǎng)站的新聞進(jìn)行垂直搜索的系統(tǒng)。該系統(tǒng)主要由網(wǎng)頁抓取模塊、信息抽取與結(jié)構(gòu)化模塊、分詞建立索引模塊、后臺(tái)存儲(chǔ)模塊與信息展示模塊構(gòu)成。見圖2。

3.1 網(wǎng)頁抓取模塊

網(wǎng)頁抓取模塊負(fù)責(zé)從學(xué)校的新聞網(wǎng)站抓取符合條件的新聞頁面,這部分主要采用Heritrix實(shí)現(xiàn)。在該模塊中,我們需要給出頁面抓取的起始URL作為Heritrix種子。種子的選擇,必須可以使得Heritrix不漏掉新聞中心中的所有新聞。經(jīng)分析,我們采用新聞中心頁面URL鏈接http://chengyi.jmu.edu.cn/news/index.asp?typeid=21。但使用該URL作為起始種子總是會(huì)保存大量與新聞無關(guān)的頁面,因此我們需要擴(kuò)展Heritrix,加入一種URL選擇策略把不需要的URL過濾掉。這里我們可以擴(kuò)展Heritrix中的FrontierSchedular來達(dá)到要求。部分代碼如下:

if (url.indexOf(\"chengyi.jmu.edu.cn/news/\")!= -1 || url.indexOf(\"robots.txt\")!= -1

|| url.indexOf(\"dns:\") != -1 ) getController().getFrontier().schedule(caUri);

代碼中,chengyi.jmu.edu.cn/news/為新聞信息頁面的URL的前綴,因此,肯定需要讓其通過約束,以使得新聞的詳細(xì)信息頁面能夠得以保存。

最后符合條件的相關(guān)新聞網(wǎng)頁抓取下來。

3.2 信息抽取與結(jié)構(gòu)化模塊

該模塊是區(qū)別于垂直搜索與通用搜索的一個(gè)重要模塊,其主要負(fù)責(zé)對抓取下來的網(wǎng)頁中的所需要的數(shù)據(jù)進(jìn)行抽取與結(jié)構(gòu)化。經(jīng)分析,一個(gè)新聞頁面應(yīng)包含幾個(gè)字段:原網(wǎng)頁的URL地址、新聞的標(biāo)題、新聞的發(fā)布日期、新聞的出處、新聞的作者、新聞的正文內(nèi)容。我們設(shè)計(jì)新聞信息抽取類ExtractorNews,該類繼承自HTMLParser中的基類Extractor,實(shí)現(xiàn)了其extract方法,通過結(jié)合正則表達(dá)式與HTMLParser最終將網(wǎng)頁中的新聞信息,按照上面分析的幾個(gè)字段抽取出來,并存儲(chǔ)在各個(gè)不同的文本文件中,以供后續(xù)處理。

3.3 分詞建立索引模塊

該模塊負(fù)責(zé)對生成的文本文件進(jìn)行中文分詞并建立索引。這部分主要采用JE分詞作為種分詞組件,Lucene作為全文索引模塊。

這個(gè)部分首先要添加一些專用詞庫。JE本身已經(jīng)有一個(gè)標(biāo)準(zhǔn)詞庫,但由于名字及一些專有名詞的特殊性,這個(gè)標(biāo)準(zhǔn)詞庫可能不包含一些特殊名詞。我們可以根據(jù)學(xué)院的具體情況,創(chuàng)建一個(gè)包含學(xué)校學(xué)院名稱、在校人員姓名這樣的詞庫,可以使得分詞更精確、準(zhǔn)確。

在建立索引方面,因?yàn)榭紤]到搜索的時(shí)候可能需要對多個(gè)不同的部分進(jìn)行搜索,如對作者姓名搜索、對正文內(nèi)容搜索,那么我們應(yīng)該對不同的部分使用不同的分析器才能達(dá)到更好的效果。如對作者的姓名,直接采用Lucene中的StandardAnalyzer分析器,而對正文內(nèi)容則應(yīng)該采用JE的中文分析器(MMAnalyzer)。最后,使用Lucene中的PerFieldAnlyzerWrapper來對文檔中的多個(gè)部分結(jié)合使用不同的分析器。

3.4 后臺(tái)存儲(chǔ)模塊

該模塊負(fù)責(zé)將格式化后的新聞文本文件存儲(chǔ)起來到后臺(tái)的SQL server數(shù)據(jù)庫中,并在存儲(chǔ)的同時(shí)調(diào)用分詞建立索引模塊對新聞內(nèi)容的各部分建立索引。

3.5 信息展示模塊

信息展示模塊主要是使用Tomcat搭建一個(gè)Web平臺(tái),給用戶提供搜索界面,同時(shí)使用用戶所提交的關(guān)鍵詞調(diào)用搜索服務(wù),同時(shí)搜索文章作者、文章標(biāo)題與文章正文內(nèi)容三個(gè)部分得索引,并將所對應(yīng)的結(jié)果返回給用戶。搜索界面如圖3所示。

4 結(jié)束語

垂直搜索引擎給市未來搜索引擎技術(shù)發(fā)展的一個(gè)重要方向。可以預(yù)見,其給用戶帶來的將是更準(zhǔn)確、更有效的信息。本文通過Heritrix與Lucene構(gòu)建了一個(gè)針對學(xué)校新聞網(wǎng)站的一個(gè)垂直搜索引擎,為用戶提供了更好的搜索新聞的體驗(yàn)。

參考文獻(xiàn):

[1] 邱哲,符滔滔.開發(fā)自己的搜索引擎—Lucene 2.0+Heritrix[M].北京:人民郵電出版社,2007.

[2] Gospodnetic O,Hatcher E.Lucene IN ACTION中文版[M].北京:電子工業(yè)出版社,2007.

[3] Heritrix for the Web Lab: a Tutorial[EB/OL].http://weblab.tc.cornell.edu/tools_amazon/heritrixweblab_docs.aspx.

[4] 什么是垂直搜索?[EB/OL].http://www.fullsearcher.com/n20051112144420735.asp.

[5] 走進(jìn)搜索引擎[M].北京:電子工業(yè)出版社,2007.

[6] 搜索引擎原理、實(shí)踐與應(yīng)用[M].北京:電子工業(yè)出版社,2007.

主站蜘蛛池模板: 国产精品成人免费视频99| 婷婷综合缴情亚洲五月伊| 国产美女一级毛片| 中文字幕佐山爱一区二区免费| 亚洲精品欧美日本中文字幕| 91系列在线观看| 亚洲综合香蕉| 亚洲无码91视频| 天天综合色网| 手机在线免费不卡一区二| 狠狠干综合| 亚洲中文无码h在线观看| 国产95在线 | 99视频国产精品| 97国产在线视频| 激情综合网址| 九九精品在线观看| 99re在线观看视频| 国产日韩欧美在线播放| 波多野结衣视频一区二区| 超薄丝袜足j国产在线视频| 国产在线一区视频| 99这里只有精品在线| 国产亚洲欧美在线人成aaaa | 亚洲一区二区在线无码| 国产午夜福利片在线观看| 国产精品粉嫩| 欧美午夜一区| 天天做天天爱天天爽综合区| 福利小视频在线播放| 亚洲精品中文字幕无乱码| 色首页AV在线| 亚洲无码视频喷水| 国产又粗又猛又爽视频| 婷婷在线网站| 婷婷亚洲最大| 喷潮白浆直流在线播放| 久久一本精品久久久ー99| 国产欧美日韩另类精彩视频| 狼友视频一区二区三区| 91成人免费观看在线观看| 亚洲,国产,日韩,综合一区 | 国产95在线 | 日韩欧美国产精品| 在线观看欧美国产| 四虎影视库国产精品一区| AV网站中文| 久久久久人妻精品一区三寸蜜桃| 久久久久久国产精品mv| av一区二区三区高清久久| 国产十八禁在线观看免费| 国产成人凹凸视频在线| 亚洲天堂2014| 国产精品福利导航| 强乱中文字幕在线播放不卡| 亚洲福利一区二区三区| 国产激爽大片在线播放| 多人乱p欧美在线观看| 日韩在线播放中文字幕| 欧美午夜一区| 精品亚洲麻豆1区2区3区| 男人的天堂久久精品激情| 国产精品极品美女自在线| 热久久这里是精品6免费观看| 激情六月丁香婷婷| 国产在线视频导航| 99这里只有精品免费视频| 亚洲AⅤ综合在线欧美一区| 色亚洲成人| 欧美国产日产一区二区| 亚洲va视频| 国产精选小视频在线观看| 特黄日韩免费一区二区三区| 丁香婷婷久久| 中文字幕啪啪| 国产乱子伦视频在线播放| 亚洲电影天堂在线国语对白| 亚洲欧洲日韩综合色天使| 天堂岛国av无码免费无禁网站 | 免费人成在线观看成人片| 亚洲AⅤ波多系列中文字幕| 亚洲综合婷婷激情|