開源搜尋引擎相關資料
首先需要一個能訪問網路的爬蟲器程式,依據URL之間的關聯性自動爬行整個網際網路,並對爬行過的網頁進行抓取收集。當網頁被收集回來後,採用 索引分析程式進行網頁資訊的分析,依據一定的相關度演算法(如超連結演算法)進行大量計算,建立倒排序的索引庫。索引庫建好後使用者就可以透過提供的搜尋介面提 交關鍵詞進行搜尋,依據特定的排序演算法返回搜尋結果。因此,搜尋引擎並不是對網際網路進行直接搜尋,而是對已抓取網頁索引庫的搜尋,這也是能快速返回搜尋結 果的原因,索引在其中扮演了最為重要的角色,索引演算法的效率直接影響搜尋引擎的效率,是評測搜尋引擎是否高效的關鍵因素。
網頁爬行器、索引器、查詢器共同構成了搜尋引擎的重要組成單元,針對特定的語言,如中文、韓文等,還需要分詞器進行分詞,一般情況下,分詞器與索引器一起使用建立特定語言的索引庫。
而開放原始碼的搜尋引擎為使用者提供了極大的透明性,開放的原始碼、公開的排序演算法、隨意的可定製性,相比於商業搜尋引擎而言,更為使用者所需 要。目前,開放原始碼的搜尋引擎專案也有一些,主要集在中搜尋引擎開發工具包與架構、Web搜尋引擎、檔案搜尋引擎幾個方面,本文概要介紹一下當前比較流 行且相對比較成熟的幾個搜尋引擎專案。
開源搜尋引擎工具包
Egothor
Egothor是一個用Java編寫的開源而高效的全文字搜尋引擎。藉助Java的跨平臺特性,Egothor能應用於任何環境的應用,既可配置為單獨的搜尋引擎,又能用於你的應用作為全文檢索之用。
Nutch
Nutch 是一個開源Java 實現的搜尋引擎。它提供了我們執行自己的搜尋引擎所需的全部工具。包括全文搜尋和Web爬蟲。
Lucene
Apache Lucene是一個基於Java全文搜尋引擎,利用它可以輕易地為Java軟體加入全文搜尋功能。Lucene的最主要工作是替檔案的每一個字作索引,索 引讓搜尋的效率比傳統的逐字比較大大提高,Lucen提供一組解讀,過濾,分析檔案,編排和使用索引的API,它的強大之處除了高效和簡單外,是最重要的 是使使用者可以隨時應自已需要自訂其功能。
Oxyus
是一個純java寫的web搜尋引擎。
BDDBot
BDDBot是一個簡單的易於理解和使用的搜尋引擎。它目前在一個文字檔案(urls.txt)列出的URL中爬行,將結果儲存在一個資料庫中。它也支援一個簡單的Web伺服器,這個伺服器接受來自瀏覽器的查詢並返回響應結果。它可以方便地整合到你的Web站點中。
Zilverline
Zilverline 是一個搜尋引擎,它透過web方式搜尋本地硬碟或intranet上的內容。Zilverline可以從PDF, Word, Excel, Powerpoint, RTF, txt, java, CHM,zip, rar等文件中抓取它們的內容來建立摘要和索引。從本地硬碟或intranet中查詢到的結果可重新再進行檢索。Zilverline支援多種語言其中包 括中文。
XQEngine
XQEngine 用於XML文件的全文字搜尋引擎.利用XQuery做為它的前端查詢語言.它能夠讓你查詢XML文件集合透過使用關鍵字的邏輯組合.有點類似於 Google與其它搜尋引擎搜尋HTML文件一樣.XQEngine只是一個用Java開發的很緊湊的可嵌入的元件.
MG4J
MG4J可以讓你為大量的文件集合構建一個被壓縮的全文字索引,透過使內插編碼(interpolative coding)技術.
JXTA Search
JXTA Search是一個分散式的搜尋系統.設計用在點對點的網路與網站上.
YaCy
YaCy基於p2p的分散式Web搜尋引擎.同時也是一個Http快取代理伺服器.這個專案是構建基於p2p Web索引網路的一個新方法.它可以搜尋你自己的或全域性的索引,也可以Crawl自己的網頁或啟動分散式Crawling等.
Red-Piranha
Red- Piranha是一個開源搜尋系統,它能夠真正"學習"你所要查詢的是什麼.Red-Piranha可作為你桌面系統(Windows,Linux與 Mac)的個人搜尋引擎,或企業內部網搜尋引擎,或為你的網站提供搜尋功能,或作為一個P2P搜尋引擎,或與wiki結合作為一個知識/文件管理解決方 案,或搜尋你要的RSS聚合資訊,或搜尋你公司的系統(包括SAP,Oracle或其它任何Database/Data source),或用於管理PDF,Word和其它文件,或作為一個提供搜尋資訊的WebService或為你的應用程式 (Web,Swing,SWT,Flash,Mozilla-XUL,PHP, Perl或c#/.Net)提供搜尋後臺等等.
LIUS
LIUS是一個基於Jakarta Lucene專案的索引框架。LIUS為Lucene新增了對許多檔案格式的進行索引功能如:
Ms Word,Ms Excel,Ms PowerPoint,RTF,PDF,XML,HTML,TXT,Open Office序列和JavaBeans。針對JavaBeans的索引特別有用當我們要對資料庫進行索引或剛好使用者使用持久層ORM技術 如:Hibernate,JDO,Torque,TopLink進行開發時。
Aperture
Aperture這個Java框架能夠從各種各樣的資料系統(如:檔案系統、Web站點、IMAP和Outlook郵箱)或存在這些系統中的檔案(如:文件、圖片)爬取和搜尋其中的全文字內容與後設資料。它當前支援的檔案格式如下:
Plain text
HTML, XHTML
XML
PDF (Portable Document Format)
RTF (Rich Text Format)
Microsoft Office: Word, Excel, Powerpoint, Visio, Publisher
Microsoft Works
OpenOffice 1.x: Writer, Calc, Impress, Draw
StarOffice 6.x - 7.x+: Writer, Calc, Impress, Draw
OpenDocument (OpenOffice 2.x, StarOffice 8.x)
Corel WordPerfect, Quattro, Presentations
Emails (.eml files)
Apache Solr
Solr 是一個高效能,採用Java5開發,基於Lucene的全文搜尋伺服器。文件透過Http利用XML加到一個搜尋集合中。查詢該集合也是透過http收到 一個XML/JSON響應來實現。它的主要特性包括:高效、靈活的快取功能,垂直搜尋功能,高亮顯示搜尋結果,透過索引複製來提高可用性,提供一套強大 Data Schema來定義欄位,型別和設定文字分析,提供基於Web的管理介面等。
Paoding
Paoding中文分詞是一個使用Java開發的,可結合到Lucene應用中的,為網際網路、企業內部網使用的中文搜尋引擎分片語件。Paoding填補了國內中文分詞方面開源元件的空白,致力於此並希翼成為網際網路網站首選的中文分詞開源元件。 Paoding中文分詞追求分詞的高效率和使用者良好體驗。
Carrot2
Carrot2 是一個開源搜尋結果分類引擎。它能夠自動把搜尋結果組織成一些專題分類。Carrot2提供的一個架構能夠從各種搜尋引擎(YahooAPI、 GoogleAPI、MSN Search API、eTools Meta. Search、Alexa Web Search、PubMed、OpenSearch、Lucene index、SOLR)獲取搜尋結果。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6517/viewspace-364441/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 海量資料搜尋---搜尋引擎
- 相見恨晚!開源的傻瓜搜尋引擎,幫你快速實現搜尋功能
- 開放搜尋開源相容版,支援Elasticsearch做搜尋召回引擎Elasticsearch
- 127盤搜網 網盤資源搜尋引擎
- 使用開源搜尋引擎 YaCy 的技巧
- 開源搜尋技術的核心引擎 —— Lucene
- 搜尋引擎-03-搜尋引擎原理
- 過濾搜尋引擎的抓取資料
- 語義搜尋相關配置
- 谷歌上線資料搜尋引擎 Dataset Search谷歌
- 直播開發app,實時搜尋、搜尋引擎框APP
- 如何尋找Oracle相關的資源?Oracle
- 海量資料搜尋---demo展示百度、谷歌搜尋引擎的實現谷歌
- Redis全文搜尋教程之建立索引並關聯源資料Redis索引
- 用開源搜尋引擎定製你的網際網路
- 用Python實現一個大資料搜尋引擎Python大資料
- CSS 實現搜尋相關互動CSS
- MySQL單詞搜尋相關度排名MySql
- 搜尋引擎es-分詞與搜尋分詞
- 開源搜尋引擎排名第一,Elasticsearch是如何做到的?Elasticsearch
- 勵志故事:比Elasticsearch更快的即時開源搜尋引擎typesenseElasticsearch
- sphinx 全文搜尋引擎
- 高效利用搜尋引擎
- ElasticSearch全文搜尋引擎Elasticsearch
- 49_初識搜尋引擎_filter與query深入對比解密:相關度,效能Filter解密
- 搭資料洩露的順風車,搜尋引擎DuckDuckGo 日搜尋量突破3000萬Go
- 微信對外部搜尋引擎開放:自媒體平臺開放搜尋引擎有哪些意義
- 新一代海量資料搜尋引擎 TurboSearch 來了!
- 高效的使用搜尋引擎
- 搜尋引擎與前端SEO前端
- python 寫的搜尋引擎Python
- Shodan搜尋引擎介紹
- 搜尋引擎優化(SEO)優化
- BTFILM電影搜尋引擎
- Django整合搜尋引擎ElasticserachDjangoAST
- 搜尋引擎框架介紹框架
- 認識搜尋引擎 ElasticsearchElasticsearch
- SpringBoot資料來源相關配置Spring Boot
- 57_初識搜尋引擎_分散式搜尋引擎核心解密之query phase分散式解密