王 偉,魏 樂,劉文清,舒紅平
(1.成都信息工程大學 計算機學院,四川 成都 610225;2.國家統(tǒng)計局統(tǒng)計信息技術與數(shù)據(jù)挖掘重點開放實驗室,四川 成都 610103)
隨著信息技術的發(fā)展,互聯(lián)網(wǎng)的數(shù)據(jù)急劇增加,在海量復雜的數(shù)據(jù)中,如何高效便捷地獲取信息[1]已成為當前互聯(lián)網(wǎng)服務商亟待解決的問題,搜索系統(tǒng)的出現(xiàn)很好的解決了這一問題。搜索系統(tǒng)是指能對文本中特定關鍵字執(zhí)行檢索操作的軟件系統(tǒng),通常將能夠進行全文檢索的軟件系統(tǒng)稱為搜索引擎。但是,目前互聯(lián)網(wǎng)上常見的各類搜索引擎架構以集中式為主,在容錯性、訪問效率、可擴展性、I/O方面存在瓶頸,越來越難以應對數(shù)據(jù)量飛速增加所帶來的問題。
Lucene[2]屬于Jakarta項目下的子項目,是由Apache基金會開源的搜索引擎工具包。它為程序開發(fā)人員提供了一套實用的工具,這套工具包含了相關性、索引、排序等搜索引擎基礎功能,在此基礎上用戶可以搭建一個完整的搜索系統(tǒng)。在各個領域中,Lucene都被認為是目前為止性能最優(yōu)、功能最完善、技術領先的搜索引擎庫。但作為開發(fā)庫而言,Lucene和真正的搜索引擎不能一概而論,使用Lucene搭建搜索引擎仍然要解決數(shù)據(jù)接入、獲取、分析等方面的問題,而且Lucene沒有提供對分布式的解決方案,在對大量數(shù)據(jù)進行并行處理時會比較麻煩。
ElasticSearch[3]是一款基于Lucene工具包的支持分布式的開源全文檢索系統(tǒng),在企業(yè)中非常受歡迎,維基百科(Wikipedia)、StackOverflow、Github等公司的全文檢索、關鍵詞高亮、實時鍵入搜索、自動糾錯、相關內容推薦等功能都是基于ElasticSearch實現(xiàn)的。……