1.Lucene(http://lucene.apache.org/)
Lucene是目前最為流行的開放原始碼全文搜尋引擎工具包,隸屬於Apache基金會,由資深全文索引/檢索專家DougCutting所發起,並以其妻子的中間名作為項目的名稱。Lucene不是一個具有完整特徵的搜尋應用程式,而是一個專注於文本索引和搜尋的工具包,能夠為應用程式添加索引與搜尋能力。基於Lucene在索引及搜尋方面的優秀表現,雖然由Java編寫的Lucene具有天生的跨平台性,但仍被改編為許多其他語言的版本:Perl、Python、C++、.Net等。
同其他開源項目一樣,Lucene具有非常好的架構,能夠方便地在其基礎上進行研究與開發,添加新功能或者開發新系統。Lucene本身只支持文本檔案及少量語種的索引,並且不具備爬蟲功能,而這正是Lucene的魅力所在,通過Lucene提供的豐富接口,我們可以根據自身的需要在其上添加具體語言的分詞器,針對具體文檔的文本解析器等,而這些具體的功能實現都可以藉助於一些已有的相關開源軟體項目、甚至是商業軟體來完成,這也保證了Lucene在索引及搜尋方面的專注性。目前,通過在Lucene的基礎上加入爬行器、文本解析器等也形成了一些新的開源項目,如LIUS、Nutch等。並且Lucene的索引數據結構已經成了一種事實上的標準,為許多搜尋引擎所採用。
2.LIUS
LIUS即LuceneIndexUpdateandSearch的縮寫,它是以Lucene為基礎發展起來的一種文本索引框架,和Lucene一樣,同樣可以看作搜尋引擎開發工具包。它在Lucene的基礎上作了一些相應的研究及添加了一些新的功能。LIUS藉助於許多開源軟體,可以直接對各種不同格式/類型的文檔進行文本解析與索引,這些文檔格式包括MSWord、MSExcel、MSPowerPoing、RTF、PDF、XML、HTML、TXT、OpenOffice及JavaBeans等,對JavaBeans的支持對於進行資料庫索引非常有用,在用戶進行對象關係映射(如:Hibernate、JDO、toplink、Torque等)的資料庫連線編程時會變得更加精確。LIUS還在Lucene的基礎上增加了索引更新功能,使針對索引的維護功能進一步完善。並且支持混和索引,可以把同一目錄下與某一條件相關的所有內容整合到一起,這種功能對於需要對多種不同格式的文檔同時進行索引時非常有用。
3.Egothor
Egothor是一款開源的高性能全文搜尋引擎,適用於基於全文搜尋功能的搜尋套用,它具有與Luccene類似的核心算法,這個項目已經存在了很多年,並且擁有一些積極的開發人員及用戶團體。項目發起者LeoGalambos是捷克布拉格查理大學數學與物理學院的一名高級助理教授,他在博士研究生期間發起了此項目。
更多的時候,我們把Egothor看作一個用於全文搜尋引擎的Java庫,能夠為具體的應用程式添加全文搜尋功能。它提供了擴展的Boolean模組,使得它能被作為Boolean模組或者Vector模組使用,並且Egothor具有一些其他搜尋引擎所不具有的特有功能:它採用新的動態算法以有效提高索引更新的速度,並且支持平行的查詢方式,可有效提高查詢效率。在Egothor的發行版中,加入了爬行器、文本解析器等許多增強易用性的應用程式,融入了Golomb、Elias-Gamma等多種高效的壓縮方法,支持多種常用文檔格式的文本解析,如HTML、PDF、PS、微軟Office文檔、XLS等,提供了GUI的索引界面及基於Applet或者Web的查詢方式。另外,Egothor還能被方便地配置成獨立的搜尋引擎、元數據搜尋器、點對點的HUB等多種且體的套用系統。
4.xapian
Xapian是基於GPL發布的搜尋引擎開發庫,它採用C++語言編寫,通過其提供綁定程式包可以使Perl、Python、PHP、Java、Tck、C#、Ruby等語言方便地使用它。
Xapian還是一個具有高適應性的工具集,使開發人員能夠方便地為他們的應用程式添加高級索引及搜尋功能。它支持信息檢索的機率模型及豐富的布爾查詢操作。Xapian的發布包通常由兩部分組成:xapian-core及xapian-bindings,前者是核心主程式,後者是與其他語言進行綁定的程式包。
Xapian為程式開發者提供了豐富的API及文檔進行程式的編制,而且還提供了許多編程實例及一個基於Xapian的應用程式Omega,Omega由索引器及基於CGI的前端搜尋組成,能夠為HTML、PHP、PDF、PostScript、OpenOffice/StarOffice、RTF等多種格式的文檔編制索引,通過使用PerlDBI模組甚至能為MySQL、PostgreSQL、SQLite、Sybase、MSSQL、LDAP、ODBC等關係資料庫編制索引,並能以CSV或XML格式從前端導出搜尋結果,程式開發者可以在此基礎上進行擴展。
5.Compass
Compass是在Lucene上實現的開源搜尋引擎架構,相對比於Lucene而言,提供更加簡潔的搜尋引擎API。增加了索引事務處理的支持,使其能夠更方便地與資料庫等事務處理套用進行整合。它更新時無需刪除原文檔,更加簡單更加高效。資源與搜尋引擎之間採用映射機制,此種機制使得那些已經使用了Lucene或者不支持對象及XML的應用程式遷移到Compass上進行開發變得非常容易。
Compass還能與Hibernate、Spring等架構進行集成,因此如果想在Hibernate、Spring項目中加入搜尋引擎功能,Compass是個極好的選擇。
開源Web搜尋引擎系統
1.Nutch(http://lucene.apache.org/nutch/)
Nutch是Lucene的作者DougCutting發起的另一個開源項目,它是構建於Lucene基礎上的完整的Web搜尋引擎系統,雖然誕生時間不長,但卻以其優良血統及簡潔方便的使用方式而廣收歡迎。我們可以使用Nutch搭建類似Google的完整的搜尋引擎系統,進行區域網路、網際網路的搜尋。
2.YaCy
YaCy是一款基於P2P(peer-to-peer)的分散式開源Web搜尋引擎系統,採用Java語言進行編寫,其核心是分布在數百台計算機上的被稱為YaCy-peer的電腦程式,基於P2P網路構成了YaCy網路,整個網路是一個分散的架構,在其中所有的YaCy-peers都處於對等的地位,沒有統一的中心伺服器,每個YaCy-peer都能獨立的進行網際網路的爬行抓取、分析及創建索引庫,通過P2P網路與其他YaCy-peers進行共享,並且每個YaCy-peer又都是一個獨立的代理伺服器,能夠對本機用戶使用過的網頁進行索引,並且採取多機制來保護用戶的隱私,同時用戶也通過本機運行的Web伺服器進行查詢及返回查詢結果。
YaCy搜尋引擎主要包括五個部分,除普通搜尋引擎所具有的爬行器、索引器、反排序的索引庫外,它還包括了一個非常豐富的搜尋與管理界面以及用於數據共享的P2P網路。
開源桌面搜尋引擎系統
1.regain
regain是一款與Web搜尋引擎類似的桌面搜尋引擎系統,其不同之處在於regain不是對Internet內容的搜尋,而是針對自己的文檔或檔案的搜尋,使用regain可以輕鬆地在幾秒內完成大量數據(許多個G)的搜尋。Regain採用了Lucene的搜尋語法,因此支持多種查詢方式,支持多索引的搜尋及基於檔案類型的高級搜尋,並且能實現URL重寫及檔案到HTTP的橋接,並且對中文也提供了較好的支持。
Regain提供了兩種版本:桌面搜尋及伺服器搜尋。桌面搜尋提供了對普通桌面計算機的文檔與區域網路環境下的網頁的快速搜尋。伺服器版本主要安裝在Web伺服器上,為網站及區域網路環境下的檔案伺服器進行搜尋。
Regain使用Java編寫,因此可以實現跨平台安裝,能安裝於Windows、Linux、MacOS及Solaris上。伺服器版本需要JSPs環境及標籤庫(taglibrary),因此需要安裝一個Tomcat容器。而桌面版自帶了一個小型的Web伺服器,安裝非常簡單。
2.Zilverline
Zilverline是一款以Lucene為基礎的桌面搜尋引擎,採用了Spring框架,它主要用於個人本地磁碟及區域網路內容的搜尋,支持多種語言,並且具有自己的中文名字:銀錢查打引擎。Zilverline提供了豐富的文檔格式的索引支持,如微軟Office文檔、RTF、Java、CHM等,甚至能夠為歸檔檔案編制索引進行搜尋,如zip、rar及其他歸檔檔案,在索引過程中,Zilverline從zip、rar、chm等歸檔檔案中抽取檔案來編制索引。Zilverline可以支持增量索引的方式,只對新檔案編制索引,同時也支持定期自動索引,其索引庫能被存放於Zilverline能夠訪問到的地方,甚至是DVD中。同時,Zilverline還支持檔案路逕到URL的映射,這樣可以使用戶遠程搜尋本地檔案。
Zilverline提供了個人及研究、商業套用兩種許可方式,其發布形式為一個簡單的war包,可以從其官方網站下載(http://www.zilverline.org/)。Zilverline的運行環境需要Java環境及Servlet容器,一般使用Tomcat即可。在確保正確安裝JDK及Tomcat容器後只需將Zilverline的war包(zilverline-1.5.0.war)拷貝到Tomcat的webapps目錄後重啟Tomcat容器即可開始使用Zilverline搜尋引擎了。
相關詞條
-
開源搜尋
開源搜尋是指原始碼公開的搜尋引擎,這就不同於咱們平時一般用的商業搜尋引擎比如google 、yahoo 等,他們這些搜尋引擎公司的搜尋引擎核心技術是不對外開放的。
說明 優點 歷史介紹 搜尋引擎 -
這就是搜尋引擎:核心技術詳解
《這就是搜尋引擎:核心技術詳解》是2012年1月電子工業出版社出版的圖書,作者是張俊林。本書主要是對實際搜尋引擎所涉及的各種核心技術全面細緻的介紹。
內容簡介 作者簡介 圖書目錄 圖書前言 -
商城系統
。C2B模式的核心,是通過聚合分散分布但數量龐大的用戶形成一個強大的採購...,如果解決初期的用戶聚合問題,是更能成功的。先前是同樣模式下,使用免費等方式聚合。但目前是先用一個未知的方式聚合用戶,再轉移到C2B上面來,有...
環境 需求 系統分類 -
威客網
網際網路新概念不斷出現,例如搜尋引擎、電子商務、部落格、維基百科、RSS...順序聚合這些信息,部落格以用戶為單位聚合這些信息。4)智力互動問答類網站(威...,通過聚合註冊用戶的的個人資料如聯繫方式,工作性質,工作地點,興趣愛好...
意義 中國首創 模式 理論基礎 理論套用 -
百抄抄
來源 我抄一下,你就知道 百度,這個自稱是全球最大的中文搜尋引擎...流量的第一名。作為中國最大的搜尋引擎的百度,目前的確非常風光,在業界...搜尋引擎,當然,百度的抄襲絕不僅僅如此,百度的發展史簡直就是一部抄襲的歷史...
來源 詳細介紹 百度七宗罪 網路侵權 -
谷歌公司
經營範圍: 網路信息服務例如搜尋引擎等 公司性質: 外商獨資 公司口號: 完美的搜尋引擎、不作惡(Don't be evil) 年營業額... 史丹福大學學生肖恩·安德森(Sean Anderson)把谷歌搜尋引擎和...
信息 名稱來歷 發展歷程 公司產品 搜尋技術 -
馬西風[多義詞]
·安德森(Sean Anderson)把谷歌搜尋引擎和谷歌的名字帶給谷歌...是在google搜尋引擎上搜尋“某物”這個關鍵字。 Googol是由美國數學家...對網站之間的關係做精確分析的搜尋引擎,此搜尋引擎的精確度勝於當時使用...
簡介 名稱由來 品牌標識 發展簡史 產品和服務 -
馬西風[神話人物]
·安德森(Sean Anderson)把谷歌搜尋引擎和谷歌的名字帶給谷歌...是在google搜尋引擎上搜尋“某物”這個關鍵字。 Googol是由美國數學家...對網站之間的關係做精確分析的搜尋引擎,此搜尋引擎的精確度勝於當時使用...
簡介 名稱由來 品牌標識 發展簡史 產品和服務 -
馬西風
·安德森(Sean Anderson)把谷歌搜尋引擎和谷歌的名字帶給谷歌...是在google搜尋引擎上搜尋“某物”這個關鍵字。 Googol是由美國數學家...對網站之間的關係做精確分析的搜尋引擎,此搜尋引擎的精確度勝於當時使用...
簡介 名稱由來 品牌標識 發展簡史 產品和服務