搜索引擎的主流語言是Java,要研究和開發(fā)搜索引擎,最好從Lucene開始,下面介紹一些開源搜索引擎系統(tǒng),包含開源Web搜索引擎和開源桌面搜索引擎。 Lucene 一個(gè)全文搜索引擎工具包,但只支持文本文件以及少量語種的索引;通過Lucene提供的接口, 我們可以自己開發(fā)具體語言的分詞器, 針對(duì)具體文檔的文本解析器等;
Lucene是索引數(shù)據(jù)結(jié)構(gòu)事實(shí)上的標(biāo)準(zhǔn);
Apache Lucene是一個(gè)基于Java全文搜索引擎,利用它可以輕易地為Java軟件加入全文搜尋功能。Lucene的最主要工作是替文件的每一個(gè)字作索引,索 引讓搜尋的效率比傳統(tǒng)的逐字比較大大提高,Lucen提供一組解讀,過濾,分析文件,編排和使用索引的API,它的強(qiáng)大之處除了高效和簡單外,是最重要的 是使使用者可以隨時(shí)應(yīng)自已需要自訂其功能。 Sphider Sphider是一個(gè)輕量級(jí),采用PHP開發(fā)的web spider和搜索引擎,使用mysql來存儲(chǔ)數(shù)據(jù)。可以利用它來為自己的網(wǎng)站添加搜索功能。Sphider非常小,易于安裝和修改,已經(jīng)有數(shù)千網(wǎng)站在使用它。 RiSearch PHPRiSearch PHP是一個(gè)高效,功能強(qiáng)大的搜索引擎,特別適用于中小型網(wǎng)站。RiSearch PHP非???,它能夠在不到1秒鐘內(nèi)搜索5000-10000個(gè)頁面。RiSearch是一個(gè)索引搜索引擎,這就意味著它先將你的網(wǎng)站做索引并建立一個(gè)數(shù) 據(jù)庫來存儲(chǔ)你網(wǎng)站所有頁面的關(guān)鍵詞以便快速搜索。Risearch是全文搜索引擎腳本,它把所有的關(guān)鍵詞都編成一個(gè)文檔索引除了配置文件里面的定義排除的 關(guān)鍵詞。 RiSearch使用經(jīng)典的反向索引算法(與大型的搜索引擎相同),這就是為什么它會(huì)比其它搜索引擎快的原因。 Xapian 使用C++編寫, 提供綁定程序使得其他語言能夠方便地使用它;
便于進(jìn)行二次開發(fā)
PhpDig
PhpDig是一個(gè)采用PHP開發(fā)的Web爬蟲和搜索引擎。通過對(duì)動(dòng)態(tài)和靜態(tài)頁面進(jìn)行索引建立
一個(gè)詞匯表。當(dāng)搜索查詢時(shí),它將按一定的排序規(guī)則顯示包含關(guān)鍵字的搜索結(jié)果頁面。PhpDig包含一個(gè)模板系統(tǒng)并能夠索引PDF,Word,Excel,
和PowerPoint文檔。PHPdig適用于專業(yè)化更強(qiáng)、層次更深的個(gè)性化搜索引擎,利用它打造針對(duì)某一領(lǐng)域的垂直搜索引擎是最好的選擇。 OpenWebSpider
OpenWebSpider是一個(gè)開源多線程Web Spider(robot:機(jī)器人,crawler:爬蟲)和包含許多有趣功能的搜索引擎。
Egothor
Egothor是一個(gè)用Java編寫的開源而高效的全文本搜索引擎。借助Java的跨平臺(tái)特性,Egothor能應(yīng)用于任何環(huán)境的應(yīng)用,既可配置為單獨(dú)的搜索引擎,又能用于你的應(yīng)用作為全文檢索之用。
Nutch
Nutch 是一個(gè)開源Java 實(shí)現(xiàn)的搜索引擎。它提供了我們運(yùn)行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬蟲。
Oxyus
是一個(gè)純java寫的web搜索引擎。
BDDBot
BDDBot是一個(gè)簡單的易于理解和使用的搜索引擎。它目前在一個(gè)文本文件(urls.txt)列出的URL中爬行,將結(jié)果保存在一個(gè)數(shù)據(jù)庫中。它也支持一個(gè)簡單的Web服務(wù)器,這個(gè)服務(wù)器接受來自瀏覽器的查詢并返回響應(yīng)結(jié)果。它可以方便地集成到你的Web站點(diǎn)中。
Zilverline
Zilverline是一個(gè)搜索引擎,它通過web方式搜索本地硬盤或intranet上的內(nèi)
容。Zilverline可以從PDF, Word, Excel, Powerpoint, RTF, txt, java, CHM,zip,
rar等文檔中抓取它們的內(nèi)容來建立摘要和索引。從本地硬盤或intranet中查找到的結(jié)果可重新再進(jìn)行檢索。Zilverline支持多種語言其中包
括中文。 XQEngine
XQEngine用于XML文檔的全文本搜索引擎。利用XQuery做為它的前端查詢語言。它
能夠讓你查詢XML文檔集合通過使用關(guān)鍵字的邏輯組合。有點(diǎn)類似于Google與其它搜索引擎搜索HTML文檔一樣。XQEngine只是一個(gè)用Java
開發(fā)的很緊湊的可嵌入的組件。 MG4J
MG4J可以讓你為大量的文檔集合構(gòu)建一個(gè)被壓縮的全文本索引,通過使內(nèi)插編碼(interpolative coding)技術(shù)。
JXTA Search
JXTA Search是一個(gè)分布式的搜索系統(tǒng)。設(shè)計(jì)用在點(diǎn)對(duì)點(diǎn)的網(wǎng)絡(luò)與網(wǎng)站上。
YaCy
YaCy基于p2p的分布式Web搜索引擎。同時(shí)也是一個(gè)Http緩存代理服務(wù)器。這個(gè)項(xiàng)目是構(gòu)建基于p2p Web索引網(wǎng)絡(luò)的一個(gè)新方法。它可以搜索你自己的或全局的索引,也可以Crawl自己的網(wǎng)頁或啟動(dòng)分布式Crawling等。
Red-Piranha
Red-Piranha是一個(gè)開源搜索系統(tǒng),它能夠真正”學(xué)習(xí)”你所要查找的是什么。Red-
Piranha可作為你桌面系統(tǒng)(Windows,Linux與Mac)的個(gè)人搜索引擎,或企業(yè)內(nèi)部網(wǎng)搜索引擎,或?yàn)槟愕木W(wǎng)站提供搜索功能,或作為一個(gè)
P2P搜索引擎,或與wiki結(jié)合作為一個(gè)知識(shí)/文檔管理解決方案,或搜索你要的RSS聚合信息,或搜索你公司的系統(tǒng)(包括SAP,Oracle或其它任
何Database/Data
source),或用于管理PDF,Word和其它文檔,或作為一個(gè)提供搜索信息的WebService或?yàn)槟愕膽?yīng)用程序
(Web,Swing,SWT,F(xiàn)lash,Mozilla-XUL,PHP, Perl或c#/.Net)提供搜索后臺(tái)等等。 LIUS
LIUS是一個(gè)基于Jakarta
Lucene項(xiàng)目的索引框架。LIUS為Lucene添加了對(duì)許多文件格式的進(jìn)行索引功能如:Ms Word,Ms Excel,Ms
PowerPoint,RTF,PDF,XML,HTML,TXT,Open
Office序列和JavaBeans.針對(duì)JavaBeans的索引特別有用當(dāng)我們要對(duì)數(shù)據(jù)庫進(jìn)行索引或剛好用戶使用持久層ORM技術(shù)
如:Hibernate,JDO,Torque,TopLink進(jìn)行開發(fā)時(shí)。 Apache Solr
Solr是一個(gè)高性能,采用Java5開發(fā),基于Lucene的全文搜索服務(wù)器。文檔通過
Http利用XML加到一個(gè)搜索集合中。查詢?cè)摷弦彩峭ㄟ^
http收到一個(gè)XML/JSON響應(yīng)來實(shí)現(xiàn)。它的主要特性包括:高效、靈活的緩存功能,垂直搜索功能,高亮顯示搜索結(jié)果,通過索引復(fù)制來提高可用性,提
供一套強(qiáng)大Data Schema來定義字段,類型和設(shè)置文本分析,提供基于Web的管理界面等。 Paoding
Paoding中文分詞是一個(gè)使用Java開發(fā)的,可結(jié)合到Lucene應(yīng)用中的,為互聯(lián)網(wǎng)、
企業(yè)內(nèi)部網(wǎng)使用的中文搜索引擎分詞組件。
Paoding填補(bǔ)了國內(nèi)中文分詞方面開源組件的空白,致力于此并希翼成為互聯(lián)網(wǎng)網(wǎng)站首選的中文分詞開源組件。
Paoding中文分詞追求分詞的高效率和用戶良好體驗(yàn)。 Carrot2
Carrot2是一個(gè)開源搜索結(jié)果分類引擎。它能夠自動(dòng)把搜索結(jié)果組織成一些專題分類。
Carrot2提供的一個(gè)架構(gòu)能夠從各種搜索引擎(YahooAPI、GoogleAPI、MSN Search API、eTools Meta
Search、Alexa Web Search、PubMed、OpenSearch、Lucene index、SOLR)獲取搜索結(jié)果。 Regain
regain是一款與Web搜索引擎類似的桌面搜索引擎系統(tǒng),其不同之處在于regain不是
對(duì)Internet內(nèi)容的搜索,而是針對(duì)自己的文檔或文件的搜索,使用regain可以輕松地在幾秒內(nèi)完成大量數(shù)據(jù)(許多個(gè)G)的搜索。Regain采用
了Lucene的搜索語法,因此支持多種查詢方式,支持多索引的搜索及基于文件類型的高級(jí)搜索,并且能實(shí)現(xiàn)URL重寫及文件到HTTP的橋接,并且對(duì)中文
也提供了較好的支持。 Regain提供了兩種版本:桌面搜索及服務(wù)器搜索。桌面搜索提供了對(duì)普通桌面計(jì)算機(jī)的文檔與局域網(wǎng)環(huán)境下的網(wǎng)頁的快速搜索。服務(wù)器版本主要安裝在Web服務(wù)器上,為網(wǎng)站及局域網(wǎng)環(huán)境下的文件服務(wù)器進(jìn)行搜索。
|
|