/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
Apache Lucene是一個全文檢索引擎工具包,是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎,部分文本分析引擎,Lucene的目的是為軟件開發人員提供一個簡單易用的工具包,以方便的在目標係統中實現全文檢索的功能,或者是以此為基礎建立起完整的全文檢索引擎。
Lucene 是apache軟件基金會一個開放源代碼的全文檢索引擎工具包,是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎,部分文本分析引擎。Lucene的目的是為軟件開發人員提供一個簡單易用的工具包,以方便的在目標係統中實現全文檢索的功能,或者是以此為基礎建立起完整的全文檢索引擎。
Lucene最初是由Doug Cutting所撰寫的,是一位資深全文索引/檢索專家,曾經是V-Twin搜索引擎的主要開發者,後來在Excite擔任高級係統架構設計師,目前從事 於一些INTERNET底層架構的研究。他貢獻出Lucene的目標是為各種中小型應用程式加入全文檢索功能。
Lucene最初是由Doug Cutting所撰寫的,是一位資深全文索引/檢索專家,曾經是V-Twin搜索引擎的主要開發者,後來在Excite擔任高級係統架構設計師,目前從事於一些INTERNET底層架構的研究。他貢獻出Lucene的目標是為各種中小型應用程式加入全文檢索功能。
Lucene是一個高性能、可伸縮的信息搜索(IR)庫。它可以為你的應用程序添加索引和搜索能力。Lucene是用java實現的、成熟的開源項目,是著名的Apache Jakarta大家庭的一員,並且基於Apache軟件許可 [ASF, License]。同樣,Lucene是當前非常流行的、免費的Java信息搜索(IR)庫。
突出的優點
Lucene作為一個全文檢索引擎,其具有如下突出的優點:
(1)索引文件格式獨立於應用平台。Lucene定義了一套以8位字節為基礎的索引文件格式,使得兼容係統或者不同平台的應用能夠共享建立的索引文件。
(2)在傳統全文檢索引擎的倒排索引的基礎上,實現了分塊索引,能夠針對新的文件建立小文件索引,提升索引速度。然後通過與原有索引的合並,達到優化的目的。
(3)優秀的麵向對象的係統架構,使得對於Lucene擴展的學習難度降低,方便擴充新功能。
(4)設計了獨立於語言和文件格式的文本分析接口,索引器通過接受Token流完成索引文件的創立,用戶擴展新的語言和文件格式,隻需要實現文本分析的接口。
(5)已經默認實現了一套強大的查詢引擎,用戶無需自己編寫代碼即使係統可獲得強大的查詢能力,Lucene的查詢實現中默認實現了布爾操作、模糊查詢(Fuzzy Search)、分組查詢等等。
首先,它的開發源代碼發行方式(遵守Apache Software License),在此基礎上程序員不僅僅可以充分的利用Lucene所提供的強大功能,而且可以深入細致的學習到全文檢索引擎製作技術和麵向對象編程的實踐,進而在此基礎上根據應用的實際情況編寫出更好的更適合當前應用的全文檢索引擎。
其次,Lucene秉承了開放源代碼一貫的架構優良的優勢,設計了一個合理而極具擴充能力的麵向對象架構,程序員可以在Lucene的基礎上擴充各種功能,比如擴充中文處理能力,從文本擴充到HTML、PDF等等文本格式的處理,編寫這些擴展的功能不僅僅不複雜,而且由於Lucene恰當合理的對係統設備做了程序上的抽象,擴展的功能也能輕易的達到跨平台的能力。
轉移到apache軟件基金會後,借助於apache軟件基金會的網絡平台,程序員可以方便的和開發者、其它程序員交流,促成資源的共享,甚至直接獲得已經編寫完備的擴充功能。最後,雖然Lucene使用Java語言寫成,但是開放源代碼社區的程序員正在不懈的將之使用各種傳統語言實現(例如.net framework),在遵守Lucene索引文件格式的基礎上,使得Lucene能夠運行在各種各樣的平台上,係統管理員可以根據當前的平台適合的語言來合理的選擇。
此版本包含自 6.4.0 版本以來的4個 bug 修複:
Javadocs現在使用 Java 8u121 成功構建;
修複了在封裝 TermContext 的 TermQuery 或 SpanTermQuery 對象被緩存的情況下的內存泄漏;
修複了使用 BEST_COMPRESSION 選項配置編解碼器時的本機內存泄漏;
AnalyzingInfixSuggester 現在隻有在需要應用更改時才打開 IndexWriter。