在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>Linux/uClinux/Unix編程>

開放源代碼的全文檢索引擎 Lucene

大?。?/span>257 人氣: 2010-02-10 需要積分:0
{$username}的空間

用戶級別:注冊會員

貢獻文章:

貢獻資料:

開放源代碼的全文檢索引擎 Lucene
――介紹、系統結構與源碼實現分析
?
第一節 全文檢索系統與Lucene簡介
?
一、???????????? 什么是全文檢索與全文檢索系統?
?
全文檢索是指計算機索引程序通過掃描文章中的每一個詞,對每一個詞建立一個索引,指明該詞在文章中出現的次數和位置,當用戶查詢時,檢索程序就根據事先建立的索引進行查找,并將查找的結果反饋給用戶的檢索方式。這個過程類似于通過字典中的檢索字表查字的過程。
?
全文檢索的方法主要分為按字檢索和按詞檢索兩種。按字檢索是指對于文章中的每一個字都建立索引,檢索時將詞分解為字的組合。對于各種不同的語言而言,字有不同的含義,比如英文中字與詞實際上是合一的,而中文中字與詞有很大分別。按詞檢索指對文章中的詞,即語義單位建立索引,檢索時按詞檢索,并且可以處理同義項等。英文等西方文字由于按照空白切分詞,因此實現上與按字處理類似,添加同義處理也很容易。中文等東方文字則需要切分字詞,以達到按詞索引的目的,關于這方面的問題,是當前全文檢索技術尤其是中文全文檢索技術中的難點,在此不做詳述。
?
全文檢索系統是按照全文檢索理論建立起來的用于提供全文檢索服務的軟件系統。一般來說,全文檢索需要具備建立索引和提供查詢的基本功能,此外現代的全文檢索系統還需要具有方便的用戶接口、面向WWW[1]的開發接口、二次應用開發接口等等。功能上,全文檢索系統核心具有建立索引、處理查詢返回結果集、增加索引、優化索引結構等等功能,外圍則由各種不同應用具有的功能組成。結構上,全文檢索系統核心具有索引引擎、查詢引擎、文本分析引擎、對外接口等等,加上各種外圍應用系統等等共同構成了全文檢索系統。圖1.1展示了上述全文檢索系統的結構與功能。
?
?
在上圖中,我們看到:全文檢索系統中最為關鍵的部分是全文檢索引擎,各種應用程序都需要建立在這個引擎之上。一個全文檢索應用的優異程度,根本上由全文檢索引擎來決定。因此提升全文檢索引擎的效率即是我們提升全文檢索應用的根本。另一個方面,一個優異的全文檢索引擎,在做到效率優化的同時,還需要具有開放的體系結構,以方便程序員對整個系統進行優化改造,或者是添加原有系統沒有的功能。比如在當今多語言處理的環境下,有時需要給全文檢索系統添加處理某種語言或者文本格式的功能,比如在英文系統中添加中文處理功能,在純文本系統中添加XML[2]或者HTML[3]格式的文本處理功能,系統的開放性和擴充性就十分的重要。
?
二、???????????? 什么是Lucene?
?
Lucene是apache軟件基金會[4] jakarta項目組的一個子項目,是一個開放源代碼[5]的全文檢索引擎工具包,即它不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎,部分文本分析引擎(英文與德文兩種西方語言)。Lucene的目的是為軟件開發人員提供一個簡單易用的工具包,以方便的在目標系統中實現全文檢索的功能,或者是以此為基礎建立起完整的全文檢索引擎。
?
Lucene的原作者是Doug Cutting,他是一位資深全文索引/檢索專家,曾經是V-Twin搜索引擎[6]的主要開發者,后在Excite[7]擔任高級系統架構設計師,目前從事于一些Internet底層架構的研究。早先發布在作者自己的http://www.lucene.com/,后來發布在SourceForge[8],2001年年底成為apache軟件基金會jakarta的一個子項目:http://jakarta.apache.org/lucene/。
?
三、???????????? Lucene的應用、特點及優勢
?
作為一個開放源代碼項目,Lucene從問世之后,引發了開放源代碼社群的巨大反響,程序員們不僅使用它構建具體的全文檢索應用,而且將之集成到各種系統軟件中去,以及構建Web應用,甚至某些商業軟件也采用了Lucene作為其內部全文檢索子系統的核心。apache軟件基金會的網站使用了Lucene作為全文檢索的引擎,IBM的開源軟件eclipse[9]的2.1版本中也采用了Lucene作為幫助子系統的全文索引引擎,相應的IBM的商業軟件Web Sphere[10]中也采用了Lucene。Lucene以其開放源代碼的特性、優異的索引結構、良好的系統架構獲得了越來越多的應用。
?
Lucene作為一個全文檢索引擎,其具有如下突出的優點:
(1)索引文件格式獨立于應用平臺。Lucene定義了一套以8位字節為基礎的索引文件格式,使得兼容系統或者不同平臺的應用能夠共享建立的索引文件。
(2)在傳統全文檢索引擎的倒排索引的基礎上,實現了分塊索引,能夠針對新的文件建立小文件索引,提升索引速度。然后通過與原有索引的合并,達到優化的目的。
(3)優秀的面向對象的系統架構,使得對于Lucene擴展的學習難度降低,方便擴充新功能。
(4)設計了獨立于語言和文件格式的文本分析接口,索引器通過接受Token流完成索引文件的創立,用戶擴展新的語言和文件格式,只需要實現文本分析的接口。
(5)已經默認實現了一套強大的查詢引擎,用戶無需自己編寫代碼即使系統可獲得強大的查詢能力,Lucene的查詢實現中默認實現了布爾操作、模糊查詢(Fuzzy Search[11])、分組查詢等等。
?
??? 面對已經存在的商業全文檢索引擎,Lucene也具有相當的優勢。首先,它的開發源代碼發行方式(遵守Apache Software License[12]),在此基礎上程序員不僅僅可以充分的利用Lucene所提供的強大功能,而且可以深入細致的學習到全文檢索引擎制作技術和面相對象編程的實踐,進而在此基礎上根據應用的實際情況編寫出更好的更適合當前應用的全文檢索引擎。在這一點上,商業軟件的靈活性遠遠不及Lucene。其次,Lucene秉承了開放源代碼一貫的架構優良的優勢,設計了一個合理而極具擴充能力的面向對象架構,程序員可以在Lucene的基礎上擴充各種功能,比如擴充中文處理能力,從文本擴充到HTML、PDF[13]等等文本格式的處理,編寫這些擴展的功能不僅僅不復雜,而且由于Lucene恰當合理的對系統設備做了程序上的抽象,擴展的功能也能輕易的達到

非常好我支持^.^

(1) 100%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 国产亚洲精品久久久极品美女 | 四虎影视大全免费入口 | 一级做a爱免费观看视频 | 国产精品福利一区二区亚瑟 | 成人免费看黄页网址大全 | 日韩成人黄色 | 天天躁狠狠躁夜躁2021 | 精品欧美小视频在线观看 | 456成人免费高清视频 | 人人做天天爱夜夜爽中字 | 久久国产乱子伦精品免费强 | 激情综合五月亚洲婷婷 | 国产精品久久久久aaaa | 丁香六月啪| 色www 永久免费网站 | 久久亚洲一级毛片 | 免费午夜影片在线观看影院 | 亚洲一区二区中文 | 欧美性色黄大片四虎影视 | 波多野结衣第一页 | 最新欧美一级视频 | 四虎影院精品在线观看 | 奇米影视五月天 | 最近最新中文字幕在线第一页 | 国产小视频在线免费 | 亚洲国产网| 男人都懂的网址在线看片 | 国色天香精品亚洲精品 | 四虎影院在线视频 | 四虎在线观看免费永久 | 色五月在线视频 | 色狠狠综合网 | 国产精品久久久久久久久久影院 | jizz免费一区二区三区 | 久久免费看视频 | 在线视频亚洲欧美 | 色天天综合色天天天天看大 | 天天天狠天天透天天制色 | 久久精品国产福利国产琪琪 | 久久亚洲精选 | 午夜视频精品 |