Lucene是一個(gè)全文搜索框架,而不是應(yīng)用產(chǎn)品,它可以方便的嵌入到各種應(yīng)用中實(shí)現(xiàn)針對應(yīng)用的全文索引/檢索功能。因此它并不像www.baidu.com 或者google Desktop那么拿來就能用,它只是提供了一種工具讓你能實(shí)現(xiàn)這些產(chǎn)品。
          Lucene是apache軟件基金會(huì)4 jakarta項(xiàng)目組的一個(gè)子項(xiàng)目,是一個(gè)開放源代碼的全文檢索引擎工具包,即它不是一個(gè)完整的全文檢索引擎,而是一個(gè)全文檢索引擎的架構(gòu),提供了完整的查詢引擎和索引引擎,部分文本分析引擎(英文與德文兩種西方語言)。Lucene的目的是為軟件開發(fā)人員提供一個(gè)簡單易用的工具包,以方便的在目標(biāo)系統(tǒng)中實(shí)現(xiàn)全文檢索的功能,或者是以此為基礎(chǔ)建立起完整的全文檢索引擎。
          作為一個(gè)開放源代碼項(xiàng)目,Lucene從問世之后,引發(fā)了開放源代碼社群的巨大反響,程序員們不僅使用它構(gòu)建具體的全文檢索應(yīng)用,而且將之集成到各種系統(tǒng)軟件中去,以及構(gòu)建Web應(yīng)用,甚至某些商業(yè)軟件也采用了Lucene作為其內(nèi)部全文檢索子系統(tǒng)的核心。
          已經(jīng)有很多Java項(xiàng)目都使用了Lucene作為其后臺的全文索引引擎,比較著名的有:Jive:WEB論壇系統(tǒng);Eyebrows:郵件列表HTML歸檔/瀏覽/查詢系;Cocoon:基于XML的web發(fā)布框架,全文檢索部分使用了Lucene;apache軟件基金會(huì)的網(wǎng)站使用了Lucene作為全文檢索的引擎;IBM的開源軟件eclipse的2.1版本中也采用了Lucene作為幫助子系統(tǒng)的全文索引引擎;IBM的商業(yè)軟件Web Sphere中也采用了Lucene。
          Lucene以其開放源代碼的特性、優(yōu)異的索引結(jié)構(gòu)、良好的系統(tǒng)架構(gòu)獲得了越來越多的應(yīng)用。Lucene是一個(gè)高性能、可伸縮的信息搜索(IR)庫。它使你可以為你的應(yīng)用程序添加索引和搜索能力。Lucene是用java實(shí)現(xiàn)的成熟的、免費(fèi)的開源項(xiàng)目,是著名的Apache Jakarta大家庭的一員,并且基于在Apache軟件許可 [ASF, License]。同樣,Lucene是當(dāng)前與近幾年內(nèi)非常流行的免費(fèi)的Java信息搜索(IR)庫。
              lucene提供的服務(wù)實(shí)際包含兩部分:一入一出。所謂入是寫入,即將你提供的源(本質(zhì)是字符串)寫入索引或者將其從索引中刪除;所謂出是讀出,即向用戶提供全文搜索服務(wù),讓用戶可以通過關(guān)鍵詞定位源。
          寫入流程:源字符串首先經(jīng)過analyzer處理,包括:分詞,分成一個(gè)個(gè)單詞;去除stopword(可選)。將源中需要的信息加入Document的各個(gè)Field中,并把需要索引的Field索引起來,把需要存儲的Field存儲起來。 將索引寫入存儲器,存儲器可以是內(nèi)存或磁盤。
          讀出流程:用戶提供搜索關(guān)鍵詞,經(jīng)過analyzer處理。對處理后的關(guān)鍵詞搜索索引找出對應(yīng)的Document。用戶根據(jù)需要從找到的Document中提取需要的Field。
          索引過程:從命令行讀取文件名(多個(gè)),將文件分路徑(path字段)和內(nèi)容(body字段)2個(gè)字段進(jìn)行存儲,并對內(nèi)容進(jìn)行全文索引:索引的單位是Document對象,每個(gè)Document對象包含多個(gè)字段Field對象,針對不同的字段屬性和數(shù)據(jù)輸出的需求,對字段還可以選擇不同的索引/存儲字段規(guī)則。

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          posts - 34, comments - 38, trackbacks - 0, articles - 0

          Copyright © 陳小東

          主站蜘蛛池模板: 印江| 江陵县| 柳林县| 陆丰市| 米易县| 西乡县| 凤台县| 濮阳县| 河西区| 武城县| 九龙城区| 吴川市| 松潘县| 沽源县| 宿州市| 长泰县| 商丘市| 福安市| 乌兰察布市| 军事| 长春市| 堆龙德庆县| 宣化县| 手机| 江安县| 平舆县| 翼城县| 永修县| 车险| 吴川市| 肥东县| 太保市| 万源市| 离岛区| 青岛市| 祁连县| 肥西县| 鄱阳县| 黄石市| 东兴市| 德令哈市|