久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Lucene

來自站長百科
Spider.flynn討論 | 貢獻(xiàn)2010年2月2日 (二) 11:31的版本 (新頁面: right '''Lucene'''是Apache軟件基金會jakarta項目組的一個子項目,是一個開源代碼的全文檢索引擎工具包,即它不是一個...)
(差異) ←上一版本 | 最后版本 (差異) | 下一版本→ (差異)
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索
Lucene Logo.gif

LuceneApache軟件基金會jakarta項目組的一個子項目,是一個開源代碼的全文檢索引擎工具包,即它不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構(gòu),提供了完整的查詢引擎和索引引擎,部分文本分析引擎(英文與德文兩種西方語言)。Lucene的目的是為軟件開發(fā)人員提供一個簡單易用的工具包,以方便的在目標(biāo)系統(tǒng)中實現(xiàn)全文檢索的功能,或者是以此為基礎(chǔ)建立起完整的全文檢索引擎。

Lucene的原作者是Doug Cutting,他是一位資深全文索引/檢索專家,曾經(jīng)是V-Twin搜索引擎的主要開發(fā)者,后在Excite擔(dān)任高級系統(tǒng)架構(gòu)設(shè)計師,目前從事于一些Internet底層架構(gòu)的研究。早先發(fā)布在作者自己的http://www.lucene.com/,后來發(fā)布在SourceForge,2001年年底成為apache軟件基金會jakarta的一個子項目:http://jakarta.apache.org/lucene/。

發(fā)布?xì)v史

Lucene最初是由Doug Cutting開發(fā)的,在SourceForge的網(wǎng)站上提供下載。在2001年9月做為高質(zhì)量的開源Java產(chǎn)品加入到Apache軟件基金會的 Jakarta家族中。隨著每個版本的發(fā)布,這個項目得到明顯的增強(qiáng),也吸引了更多的用戶和開發(fā)人員。2004年7月,Lucene1.4版正式發(fā)布,10月的1.4.2版本做了一次bug修正。顯示了Lucene的發(fā)布?xì)v史?! ?

  • 0.01 2000年3月 第一個開源版本(SourceForge)
  • 1.0 2000年10月
  • 1.01b 2001年7月 最后的SourceForge版本
  • 1.2 2002年6月 第一個Apache Jakarta版本
  • 1.3 2003年12月 復(fù)合索引格式,查詢分析器增加,遠(yuǎn)程搜索,token定位,可擴(kuò)展的API
  • 1.4 2004年7月 Sorting, span queries, term vectors
  • 1.4.1 2004年8月 排序性能的bug修正
  • 1.4.2 2004年10月 IndexSearcher optimization and misc. fixes
  • 1.4.3 2004年冬 Misc. fixes2.4.1 2009年3月8日發(fā)布新版本
  • 2.3.0 2008年1月 更新為2.3.0
  • 2.4.0 2008年10月 更新為2.4.0
  • 2.4.1 2009年 5月 更新為 2.4.1
  • 2.9.0 2009年9月25號 更新為2.9.0
  • 2.9.1 2009年11月6號 更新為2.9.1
  • 3.0.0 2009年11月25號 更新為3.0.0

特點(diǎn)優(yōu)勢

作為一個開放源代碼項目,Lucene從問世之后,引發(fā)了開放源代碼社群的巨大反響,程序員們不僅使用它構(gòu)建具體的全文檢索應(yīng)用,而且將之集成到各種系統(tǒng)軟件中去,以及構(gòu)建Web應(yīng)用,甚至某些商業(yè)軟件也采用了Lucene作為其內(nèi)部全文檢索子系統(tǒng)的核心。apache軟件基金會的網(wǎng)站使用了Lucene作為全文檢索的引擎,IBM的開源軟件Eclipse的2.1版本中也采用了Lucene作為幫助子系統(tǒng)的全文索引引擎,相應(yīng)的IBM的商業(yè)軟件Web Sphere中也采用了Lucene。Lucene以其開放源代碼的特性、優(yōu)異的索引結(jié)構(gòu)、良好的系統(tǒng)架構(gòu)獲得了越來越多的應(yīng)用。

Lucene是一個高性能、可伸縮的信息搜索(IR)庫。它使你可以為你的應(yīng)用程序添加索引和搜索能力。Lucene是用java實現(xiàn)的成熟的、免費(fèi)的開源項目,是著名的Apache Jakarta大家庭的一員,并且基于在Apache軟件許可 [ASF, License]。同樣,Lucene是當(dāng)前與近幾年內(nèi)非常流行的免費(fèi)的Java信息搜索(IR)庫。

Lucene作為一個全文檢索引擎,其具有如下突出的優(yōu)點(diǎn):

  • (1)索引文件格式獨(dú)立于應(yīng)用平臺。Lucene定義了一套以8位字節(jié)為基礎(chǔ)的索引文件格式,使得兼容系統(tǒng)或者不同平臺的應(yīng)用能夠共享建立的索引文件。
  • (2)在傳統(tǒng)全文檢索引擎的倒排索引的基礎(chǔ)上,實現(xiàn)了分塊索引,能夠針對新的文件建立小文件索引,提升索引速度。然后通過與原有索引的合并,達(dá)到優(yōu)化的目的。
  • (3)優(yōu)秀的HTML、[[[PDF]]]等等文本格式的處理,編寫這些擴(kuò)展的功能不僅僅不復(fù)雜,而且由于Lucene恰當(dāng)合理的對系統(tǒng)設(shè)備做了程序上的抽象,擴(kuò)展的功能也能輕易的達(dá)到跨平臺的能力。

    最后,轉(zhuǎn)移到apache軟件基金會后,借助于apache軟件基金會的網(wǎng)絡(luò)平臺,程序員可以方便的和開發(fā)者、其它程序員交流,促成資源的共享,甚至直接獲得已經(jīng)編寫完備的擴(kuò)充功能。最后,雖然Lucene使用Java語言寫成,但是開放源代碼社區(qū)的程序員正在不懈的將之使用各種傳統(tǒng)語言實現(xiàn)(例如.net framework),在遵守Lucene索引文件格式的基礎(chǔ)上,使得Lucene能夠運(yùn)行在各種各樣的平臺上,系統(tǒng)管理員可以根據(jù)當(dāng)前的平臺適合的語言來合理的選擇。

    設(shè)計原理

    lucene的檢索算法屬于索引檢索,即用空間來換取時間,對需要檢索的文件、字符流進(jìn)行全文索引,在檢索的時候?qū)λ饕M(jìn)行快速的檢索,得到檢索位置,這個位置記錄檢索詞出現(xiàn)的文件路徑或者某個關(guān)鍵詞。

    在使用數(shù)據(jù)庫的項目中,不使用數(shù)據(jù)庫進(jìn)行檢索的原因主要是:數(shù)據(jù)庫在非精確查詢的時候使用查詢語言“l(fā)ike %keyword%”,對數(shù)據(jù)庫進(jìn)行查詢是對所有記錄遍歷,并對字段進(jìn)行 “%keyword%”匹配,在數(shù)據(jù)庫的數(shù)據(jù)龐大以及某個字段存儲的數(shù)據(jù)量龐大的時候,這種遍歷是致命的,它需要對所有的記錄進(jìn)行匹配查詢。因此,lucene主要適用于文檔集的全文檢索,以及海量數(shù)據(jù)庫的模糊檢索,特別是對數(shù)據(jù)庫的xml或者大數(shù)據(jù)的字符類型。

    安裝使用

    Lucene入門使用

    相關(guān)資源

    相關(guān)條目

    參考來源