国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
計(jì)算機(jī)世界網(wǎng)-周報(bào)全文
■ 鄭依華
開放源代碼搜索引擎為人們學(xué)習(xí)、研究并掌握搜索技術(shù)提供了極好的途徑與素材,推動(dòng)了搜索技術(shù)的普及與發(fā)展,使越來(lái)越多的人開始了解并推廣使用搜索技術(shù)。使用開源搜索引擎,可以大大縮短構(gòu)建搜索應(yīng)用的周期,并可根據(jù)應(yīng)用需求打造個(gè)性化搜索應(yīng)用,甚至構(gòu)建符合特定需求的搜索引擎系統(tǒng)。搜索引擎的開源,無(wú)論是對(duì)技術(shù)人員還是普通用戶,都是一個(gè)福音。
搜索引擎的工作流程主要分為三步:從互聯(lián)網(wǎng)抓取網(wǎng)頁(yè)→創(chuàng)建抓取網(wǎng)頁(yè)的索引庫(kù)→從索引庫(kù)中進(jìn)行搜索。
首先需要一個(gè)能訪問(wèn)網(wǎng)絡(luò)的爬蟲器程序,依據(jù)URL之間的關(guān)聯(lián)性自動(dòng)爬行整個(gè)互聯(lián)網(wǎng),并對(duì)爬行過(guò)的網(wǎng)頁(yè)進(jìn)行抓取收集。當(dāng)網(wǎng)頁(yè)被收集回來(lái)后,采用索引分析程序進(jìn)行網(wǎng)頁(yè)信息的分析,依據(jù)一定的相關(guān)度算法(如超鏈接算法)進(jìn)行大量計(jì)算,創(chuàng)建倒排序的索引庫(kù)。索引庫(kù)建好后用戶就可以通過(guò)提供的搜索界面提交關(guān)鍵詞進(jìn)行搜索,依據(jù)特定的排序算法返回搜索結(jié)果。因此,搜索引擎并不是對(duì)互聯(lián)網(wǎng)進(jìn)行直接搜索,而是對(duì)已抓取網(wǎng)頁(yè)索引庫(kù)的搜索,這也是能快速返回搜索結(jié)果的原因,索引在其中扮演了最為重要的角色,索引算法的效率直接影響搜索引擎的效率,是評(píng)測(cè)搜索引擎是否高效的關(guān)鍵因素。
網(wǎng)頁(yè)爬行器、索引器、查詢器共同構(gòu)成了搜索引擎的重要組成單元,針對(duì)特定的語(yǔ)言,如中文、韓文等,還需要分詞器進(jìn)行分詞,一般情況下,分詞器與索引器一起使用創(chuàng)建特定語(yǔ)言的索引庫(kù)。它們之間的協(xié)同關(guān)系如圖1所示。
而開放源代碼的搜索引擎為用戶提供了極大的透明性,開放的源代碼、公開的排序算法、隨意的可定制性,相比于商業(yè)搜索引擎而言,更為用戶所需要。目前,開放源代碼的搜索引擎項(xiàng)目也有一些,主要集在中搜索引擎開發(fā)工具包與架構(gòu)、Web搜索引擎、文件搜索引擎幾個(gè)方面,本文概要介紹一下當(dāng)前比較流行且相對(duì)比較成熟的幾個(gè)搜索引擎項(xiàng)目。
開源搜索引擎工具包
1.Lucene
Lucene是目前最為流行的開放源代碼全文搜索引擎工具包,隸屬于Apache基金會(huì),由資深全文索引/檢索專家Doug Cutting所發(fā)起,并以其妻子的中間名作為項(xiàng)目的名稱。Lucene不是一個(gè)具有完整特征的搜索應(yīng)用程序,而是一個(gè)專注于文本索引和搜索的工具包,能夠?yàn)閼?yīng)用程序添加索引與搜索能力?;贚ucene在索引及搜索方面的優(yōu)秀表現(xiàn),雖然由Java編寫的Lucene具有天生的跨平臺(tái)性,但仍被改編為許多其他語(yǔ)言的版本:Perl、Python、C++、.Net等。
同其他開源項(xiàng)目一樣,Lucene具有非常好的架構(gòu),能夠方便地在其基礎(chǔ)上進(jìn)行研究與開發(fā),添加新功能或者開發(fā)新系統(tǒng)。Lucene本身只支持文本文件及少量語(yǔ)種的索引,并且不具備爬蟲功能,而這正是Lucene的魅力所在,通過(guò)Lucene提供的豐富接口,我們可以根據(jù)自身的需要在其上添加具體語(yǔ)言的分詞器,針對(duì)具體文檔的文本解析器等,而這些具體的功能實(shí)現(xiàn)都可以借助于一些已有的相關(guān)開源軟件項(xiàng)目、甚至是商業(yè)軟件來(lái)完成,這也保證了Lucene在索引及搜索方面的專注性。目前,通過(guò)在Lucene的基礎(chǔ)上加入爬行器、文本解析器等也形成了一些新的開源項(xiàng)目,如LIUS、Nutch等。并且Lucene的索引數(shù)據(jù)結(jié)構(gòu)已經(jīng)成了一種事實(shí)上的標(biāo)準(zhǔn),為許多搜索引擎所采用。
2.LIUS
LIUS即Lucene Index Update and Search的縮寫,它是以Lucene為基礎(chǔ)發(fā)展起來(lái)的一種文本索引框架,和Lucene一樣,同樣可以看作搜索引擎開發(fā)工具包。它在Lucene的基礎(chǔ)上作了一些相應(yīng)的研究及添加了一些新的功能。LIUS借助于許多開源軟件,可以直接對(duì)各種不同格式/類型的文檔進(jìn)行文本解析與索引,這些文檔格式包括MS Word、MS Excel、MS PowerPoing、RTF、PDF、XML、HTML、TXT、Open Office及JavaBeans等,對(duì)Java Beans的支持對(duì)于進(jìn)行數(shù)據(jù)庫(kù)索引非常有用,在用戶進(jìn)行對(duì)象關(guān)系映射(如:Hibernate、JDO、TopLink、Torque等)的數(shù)據(jù)庫(kù)連接編程時(shí)會(huì)變得更加精確。LIUS還在Lucene的基礎(chǔ)上增加了索引更新功能,使針對(duì)索引的維護(hù)功能進(jìn)一步完善。并且支持混和索引,可以把同一目錄下與某一條件相關(guān)的所有內(nèi)容整合到一起,這種功能對(duì)于需要對(duì)多種不同格式的文檔同時(shí)進(jìn)行索引時(shí)非常有用。
3.Egothor
Egothor是一款開源的高性能全文搜索引擎,適用于基于全文搜索功能的搜索應(yīng)用,它具有與Luccene類似的核心算法,這個(gè)項(xiàng)目已經(jīng)存在了很多年,并且擁有一些積極的開發(fā)人員及用戶團(tuán)體。項(xiàng)目發(fā)起者Leo Galambos是捷克布拉格查理大學(xué)數(shù)學(xué)與物理學(xué)院的一名高級(jí)助理教授,他在博士研究生期間發(fā)起了此項(xiàng)目。
更多的時(shí)候,我們把Egothor看作一個(gè)用于全文搜索引擎的Java庫(kù),能夠?yàn)榫唧w的應(yīng)用程序添加全文搜索功能。它提供了擴(kuò)展的Boolean模塊,使得它能被作為Boolean模塊或者Vector模塊使用,并且Egothor具有一些其他搜索引擎所不具有的特有功能:它采用新的動(dòng)態(tài)算法以有效提高索引更新的速度,并且支持平行的查詢方式,可有效提高查詢效率。在Egothor的發(fā)行版中,加入了爬行器、文本解析器等許多增強(qiáng)易用性的應(yīng)用程序,融入了Golomb、Elias-Gamma等多種高效的壓縮方法,支持多種常用文檔格式的文本解析,如HTML、PDF、PS、微軟Office文檔、XLS等,提供了GUI的索引界面及基于Applet或者Web的查詢方式。另外,Egothor還能被方便地配置成獨(dú)立的搜索引擎、元數(shù)據(jù)搜索器、點(diǎn)對(duì)點(diǎn)的HUB等多種且體的應(yīng)用系統(tǒng)。
4.Xapian
Xapian是基于GPL發(fā)布的搜索引擎開發(fā)庫(kù),它采用C++語(yǔ)言編寫,通過(guò)其提供綁定程序包可以使Perl、Python、PHP、Java、Tck、C#、Ruby等語(yǔ)言方便地使用它。
Xapian還是一個(gè)具有高適應(yīng)性的工具集,使開發(fā)人員能夠方便地為他們的應(yīng)用程序添加高級(jí)索引及搜索功能。它支持信息檢索的概率模型及豐富的布爾查詢操作。Xapian的發(fā)布包通常由兩部分組成:xapian-core及xapian-bindings,前者是核心主程序,后者是與其他語(yǔ)言進(jìn)行綁定的程序包。
Xapian為程序開發(fā)者提供了豐富的API及文檔進(jìn)行程序的編制,而且還提供了許多編程實(shí)例及一個(gè)基于Xapian的應(yīng)用程序Omega,Omega由索引器及基于CGI的前端搜索組成,能夠?yàn)镠TML、PHP、PDF、PostScript、OpenOffice/StarOffice、RTF等多種格式的文檔編制索引,通過(guò)使用Perl DBI模塊甚至能為MySQL、PostgreSQL、SQLite、Sybase、MS SQL、LDAP、ODBC等關(guān)系數(shù)據(jù)庫(kù)編制索引,并能以CSV或XML格式從前端導(dǎo)出搜索結(jié)果,程序開發(fā)者可以在此基礎(chǔ)上進(jìn)行擴(kuò)展。
5.Compass
Compass是在Lucene上實(shí)現(xiàn)的開源搜索引擎架構(gòu),相對(duì)比于Lucene而言,提供更加簡(jiǎn)潔的搜索引擎API。增加了索引事務(wù)處理的支持,使其能夠更方便地與數(shù)據(jù)庫(kù)等事務(wù)處理應(yīng)用進(jìn)行整合。它更新時(shí)無(wú)需刪除原文檔,更加簡(jiǎn)單更加高效。資源與搜索引擎之間采用映射機(jī)制,此種機(jī)制使得那些已經(jīng)使用了Lucene或者不支持對(duì)象及XML的應(yīng)用程序遷移到Compass上進(jìn)行開發(fā)變得非常容易。
Compass還能與Hibernate、Spring等架構(gòu)進(jìn)行集成,因此如果想在Hibernate、Spring項(xiàng)目中加入搜索引擎功能,Compass是個(gè)極好的選擇。
開源Web搜索引擎系統(tǒng)
1.Nutch
Nutch是Lucene的作者Doug Cutting發(fā)起的另一個(gè)開源項(xiàng)目,它是構(gòu)建于Lucene基礎(chǔ)上的完整的Web搜索引擎系統(tǒng),雖然誕生時(shí)間不長(zhǎng),但卻以其優(yōu)良血統(tǒng)及簡(jiǎn)潔方便的使用方式而廣收歡迎。我們可以使用Nutch搭建類似Google的完整的搜索引擎系統(tǒng),進(jìn)行局域網(wǎng)、互聯(lián)網(wǎng)的搜索。
2.YaCy
YaCy是一款基于P2P(peer-to-peer)的分布式開源Web搜索引擎系統(tǒng),采用Java語(yǔ)言進(jìn)行編寫,其核心是分布在數(shù)百臺(tái)計(jì)算機(jī)上的被稱為YaCy-peer的計(jì)算機(jī)程序,基于P2P網(wǎng)絡(luò)構(gòu)成了YaCy網(wǎng)絡(luò),整個(gè)網(wǎng)絡(luò)是一個(gè)分散的架構(gòu),在其中所有的YaCy-peers都處于對(duì)等的地位,沒有統(tǒng)一的中心服務(wù)器,每個(gè)YaCy-peer都能獨(dú)立的進(jìn)行互聯(lián)網(wǎng)的爬行抓取、分析及創(chuàng)建索引庫(kù),通過(guò)P2P網(wǎng)絡(luò)與其他YaCy-peers進(jìn)行共享,并且每個(gè)YaCy-peer又都是一個(gè)獨(dú)立的代理服務(wù)器,能夠?qū)Ρ緳C(jī)用戶使用過(guò)的網(wǎng)頁(yè)進(jìn)行索引,并且采取多機(jī)制來(lái)保護(hù)用戶的隱私,同時(shí)用戶也通過(guò)本機(jī)運(yùn)行的Web服務(wù)器進(jìn)行查詢及返回查詢結(jié)果。
YaCy搜索引擎主要包括五個(gè)部分,除普通搜索引擎所具有的爬行器、索引器、反排序的索引庫(kù)外,它還包括了一個(gè)非常豐富的搜索與管理界面以及用于數(shù)據(jù)共享的P2P網(wǎng)絡(luò)。
開源桌面搜索引擎系統(tǒng)
1.Regain
regain是一款與Web搜索引擎類似的桌面搜索引擎系統(tǒng),其不同之處在于regain不是對(duì)Internet內(nèi)容的搜索,而是針對(duì)自己的文檔或文件的搜索,使用regain可以輕松地在幾秒內(nèi)完成大量數(shù)據(jù)(許多個(gè)G)的搜索。Regain采用了Lucene的搜索語(yǔ)法,因此支持多種查詢方式,支持多索引的搜索及基于文件類型的高級(jí)搜索,并且能實(shí)現(xiàn)URL重寫及文件到HTTP的橋接,并且對(duì)中文也提供了較好的支持。
Regain提供了兩種版本:桌面搜索及服務(wù)器搜索。桌面搜索提供了對(duì)普通桌面計(jì)算機(jī)的文檔與局域網(wǎng)環(huán)境下的網(wǎng)頁(yè)的快速搜索。服務(wù)器版本主要安裝在Web服務(wù)器上,為網(wǎng)站及局域網(wǎng)環(huán)境下的文件服務(wù)器進(jìn)行搜索。
Regain使用Java編寫,因此可以實(shí)現(xiàn)跨平臺(tái)安裝,能安裝于Windows、Linux、Mac OS及Solaris上。服務(wù)器版本需要JSPs環(huán)境及標(biāo)簽庫(kù)(tag library),因此需要安裝一個(gè)Tomcat容器。而桌面版自帶了一個(gè)小型的Web服務(wù)器,安裝非常簡(jiǎn)單。
2.Zilverline
Zilverline是一款以Lucene為基礎(chǔ)的桌面搜索引擎,采用了Spring框架,它主要用于個(gè)人本地磁盤及局域網(wǎng)內(nèi)容的搜索,支持多種語(yǔ)言,并且具有自己的中文名字:銀錢查打引擎。Zilverline提供了豐富的文檔格式的索引支持,如微軟Office文檔、RTF、Java、CHM等,甚至能夠?yàn)闅w檔文件編制索引進(jìn)行搜索,如zip、rar及其他歸檔文件,在索引過(guò)程中,Zilverline從zip、rar、chm等歸檔文件中抽取文件來(lái)編制索引。Zilverline可以支持增量索引的方式,只對(duì)新文件編制索引,同時(shí)也支持定期自動(dòng)索引,其索引庫(kù)能被存放于Zilverline能夠訪問(wèn)到的地方,甚至是DVD中。同時(shí),Zilverline還支持文件路徑到URL的映射,這樣可以使用戶遠(yuǎn)程搜索本地文件。
Zilverline提供了個(gè)人及研究、商業(yè)應(yīng)用兩種許可方式,其發(fā)布形式為一個(gè)簡(jiǎn)單的war包,可以從其官方網(wǎng)站下載(http://www.zilverline.org/)。Zilverline的運(yùn)行環(huán)境需要Java環(huán)境及Servlet容器,一般使用Tomcat即可。在確保正確安裝JDK及Tomcat容器后只需將Zilverline的war包(zilverline-1.5.0.war)拷貝到Tomcat的webapps目錄后重啟Tomcat容器即可開始使用Zilverline搜索引擎了。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
21款開源搜索引擎項(xiàng)目介紹
幾個(gè)關(guān)于搜索引擎的開源項(xiàng)目資料的整理
9個(gè)基于Java的搜索引擎框架
Xapian相關(guān)【轉(zhuǎn)載】
開發(fā)者都應(yīng)該知道的開源搜索引擎
Inside Lucene/超人氣搜索引擎學(xué)習(xí)(1)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服