Java-Android-jwebee
          Java-Android-jwebee
          對IT人來說,要成為一個優(yōu)秀的技術(shù)型管理者,除了需要具備扎實的技術(shù)基礎(chǔ)之外,還應(yīng)該培養(yǎng)良好的人際關(guān)系能力、談判與溝通技能、客戶關(guān)系與咨詢技能、商業(yè)頭腦和財務(wù)技能以及創(chuàng)新意識,此外還要有巧妙的激勵技巧和化解沖突與解決突發(fā)問題的能力.

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

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

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

          1)索引文件格式獨立于應(yīng)用平臺。Lucene定義了一套以8位字節(jié)為基礎(chǔ)的索引文件格式,使得兼容系統(tǒng)或者不同平臺的應(yīng)用能夠共享建立的索引文件。

          2)在傳統(tǒng)全文檢索引擎的倒排索引的基礎(chǔ)上,實現(xiàn)了分塊索引,能夠針對新的文件建立小文件索引,提升索引速度。然后通過與原有索引的合并,達到優(yōu)化的目的。

          3)優(yōu)秀的面向?qū)ο蟮南到y(tǒng)架構(gòu),使得對于Lucene擴展的學(xué)習(xí)難度降低,方便擴充新功能。

          4)設(shè)計了獨立于語言和文件格式的文本分析接口,索引器通過接受Token流完成索引文件的創(chuàng)立,用戶擴展新的語言和文件格式,只需要實現(xiàn)文本分析的接口。

          5)已經(jīng)默認實現(xiàn)了一套強大的查詢引擎,用戶無需自己編寫代碼即使系統(tǒng)可獲得強大的查詢能力,Lucene的查詢實現(xiàn)中默認實現(xiàn)了布爾操作、模糊查詢(Fuzzy Search)、分組查詢等等。

          面對已經(jīng)存在的商業(yè)全文檢索引擎,Lucene也具有相當(dāng)?shù)膬?yōu)勢。首先,它的開發(fā)源代碼發(fā)行方式(遵守Apache Software License),在此基礎(chǔ)上程序員不僅僅可以充分的利用Lucene所提供的強大功能,而且可以深入細致的學(xué)習(xí)到全文檢索引擎制作技術(shù)和面相對象編程的實踐,進而在此基礎(chǔ)上根據(jù)應(yīng)用的實際情況編寫出更好的更適合當(dāng)前應(yīng)用的全文檢索引擎。在這一點上,商業(yè)軟件的靈活性遠遠不及Lucene。其次,Lucene秉承了開放源代碼一貫的架構(gòu)優(yōu)良的優(yōu)勢,設(shè)計了一個合理而極具擴充能力的面向?qū)ο蠹軜?gòu),程序員可以在Lucene的基礎(chǔ)上擴充各種功能,比如擴充中文處理能力,從文本擴充到HTMLPDF等等文本格式的處理,編寫這些擴展的功能不僅僅不復(fù)雜,而且由于Lucene恰當(dāng)合理的對系統(tǒng)設(shè)備做了程序上的抽象,擴展的功能也能輕易的達到跨平臺的能力。最后,轉(zhuǎn)移到apache軟件基金會后,借助于apache軟件基金會的網(wǎng)絡(luò)平臺,程序員可以方便的和開發(fā)者、其它程序員交流,促成資源的共享,甚至直接獲得已經(jīng)編寫完備的擴充功能。最后,雖然Lucene使用Java語言寫成,但是開放源代碼社區(qū)的程序員正在不懈的將之使用各種傳統(tǒng)語言實現(xiàn)(例如.net framework),在遵守Lucene索引文件格式的基礎(chǔ)上,使得Lucene能夠運行在各種各樣的平臺上,系統(tǒng)管理員可以根據(jù)當(dāng)前的平臺適合的語言來合理的選擇。



          ?? Heritrix
          IA的開放源代碼,可擴展的,基于整個Web的,歸檔網(wǎng)絡(luò)爬蟲工程
          ?? Heritrix
          工程始于2003年初,IA的目的是開發(fā)一個特殊的爬蟲,對網(wǎng)上的
          ??
          資源進行歸檔,建立網(wǎng)絡(luò)數(shù)字圖書館,在過去的6年里,IA已經(jīng)建立了400TB的數(shù)據(jù)。
          ?? IA
          期望他們的crawler包含以下幾種:
          ??
          寬帶爬蟲:能夠以更高的帶寬去站點爬。
          ??
          主題爬蟲:集中于被選擇的問題。
          ??
          持續(xù)爬蟲:不僅僅爬更當(dāng)前的網(wǎng)頁還負責(zé)爬日后更新的網(wǎng)頁。
          ??
          實驗爬蟲:對爬蟲技術(shù)進行實驗,以決定該爬什么,以及對不同協(xié)議的爬蟲爬行結(jié)果進行分析的。
          Heritrix
          的主頁是http://crawler.archive.org
          ?? Heritrix
          是一個爬蟲框架,可加如入一些可互換的組件。
          ??
          它的執(zhí)行是遞歸進行的,主要有以下幾步:
          ?? 1
          。在預(yù)定的URI中選擇一個。
          ?? 2
          。獲取URI
          ?? 3
          。分析,歸檔結(jié)果
          ?? 4
          。選擇已經(jīng)發(fā)現(xiàn)的感興趣的URI。加入預(yù)定隊列。
          ?? 5
          。標(biāo)記已經(jīng)處理過的URI
          ?? Heritrix
          主要有三大部件:范圍部件,邊界部件,處理器鏈
          ??
          范圍部件:主要按照規(guī)則決定將哪個URI入隊。
          ??
          邊界部件:跟蹤哪個預(yù)定的URI將被收集,和已經(jīng)被收集的URI,選擇下一個URI,剔除已經(jīng)處理過的URI
          ??
          處理器鏈:包含若干處理器獲取URI,分析結(jié)果,將它們傳回給邊界部件
          ?? Heritrix
          的其余部件有:
          ?? WEB
          管理控制臺:大多數(shù)都是單機的WEB應(yīng)用,內(nèi)嵌JAVA HTTP 服務(wù)器。
          ?
          操作者可以通過選擇Crawler命令來操作控制臺。
          ?? Crawler
          命令處理部件:包含足夠的信息創(chuàng)建要爬的URI
          ?? Servercache
          (處理器緩存):存放服務(wù)器的持久信息,能夠被爬行部件隨時
          查到,包括IP地址,歷史記錄,機器人策略。
          ??
          處理器鏈:
          ??????
          預(yù)取鏈:主要是做一些準(zhǔn)備工作,例如,對處理進行延遲和重新處理,否決隨后的操作。
          ????????
          提取鏈:主要是獲得資源,進行DNS轉(zhuǎn)換,填寫請求和響應(yīng)表單
          ????????
          抽取鏈:當(dāng)提取完成時,抽取感興趣的HTMLJavaScript,通常那里有新的也適合的URI,此時URI僅僅被發(fā)現(xiàn),不會被評估
          ????????
          寫鏈:存儲爬行結(jié)果,返回內(nèi)容和抽取特性,過濾完存儲。
          ????????
          提交鏈:做最后的維護,例如,測試那些不在范圍內(nèi)的,提交給邊界部件
          ?? Heritrix 1.0.0
          包含以下關(guān)鍵特性:
          ??????????????1.
          用單個爬蟲在多個獨立的站點一直不斷的進行遞歸的爬。
          ??????????????2
          。從一個提供的種子進行爬,收集站點內(nèi)的精確URI,和精確主機。
          ??????????????3
          。主要是用廣度優(yōu)先算法進行處理。
          ??????????????4
          。主要部件都是高效的可擴展的
          ??????????????5
          。良好的配置,包括:
          ??????????????????a
          。可設(shè)置輸出日志,歸檔文件和臨時文件的位置
          ??????????????????b
          。可設(shè)置下載的最大字節(jié),最大數(shù)量的下載文檔,和最大的下載時間。
          ??????????????????c
          。可設(shè)置工作線程數(shù)量。
          ??????????????????d
          。可設(shè)置所利用的帶寬的上界。
          ??????????????????e
          。可在設(shè)置之后一定時間重新選擇。
          ??????????????????f
          。包含一些可設(shè)置的過濾機制,表達方式,URI路徑深度選擇等等。
          ??Heritrix
          的局限:
          ?????????????? 1
          。單實例的爬蟲,之間不能進行合作。
          ?????????????? 2
          。在有限的機器資源的情況下,卻要復(fù)雜的操作。
          ?????????????? 3
          。只有官方支持,僅僅在Linux上進行了測試。
          ?????????????? 4
          。每個爬蟲是單獨進行工作的,沒有對更新進行修訂。??????????????????????

          5 。在硬件和系統(tǒng)失敗時,恢復(fù)能力很差。
          ?6
          。很少的時間用來優(yōu)化性能。?

          ?

          ??? 根據(jù)搜索引擎工作原理,Heritrix從互聯(lián)網(wǎng)上抓取網(wǎng)頁,Lucene建立索引數(shù)據(jù)庫,在索引數(shù)據(jù)庫中搜索排序.



          jwebee

          我的個人網(wǎng)站
          posted on 2007-05-24 20:09 周行 閱讀(3667) 評論(10)  編輯  收藏 所屬分類: IT技術(shù)

          FeedBack:
          # re: Lucene+Heritrix 開發(fā)搜索引擎[未登錄]
          2008-05-21 22:12 | Harriet
          請問你有實際的例子嗎?急著做畢設(shè)~~  回復(fù)  更多評論
            
          # re: Lucene+Heritrix 開發(fā)搜索引擎
          2008-05-23 14:58 | jwebee
          @Harriet
          郵箱給我  回復(fù)  更多評論
            
          # re: Lucene+Heritrix 開發(fā)搜索引擎
          2008-05-26 15:36 | taolin
          可以給我一份例子嗎?

          謝謝。。。  回復(fù)  更多評論
            
          # re: Lucene+Heritrix 開發(fā)搜索引擎
          2008-05-26 15:36 | taolin
          tao.lin.312@gmail.com  回復(fù)  更多評論
            
          # re: Lucene+Heritrix 開發(fā)搜索引擎
          2008-10-18 15:35 | hhz
          請問你有實際的例子嗎?我也在畢業(yè)設(shè)計,不知道怎么下手了。
          我郵箱:huanghongzhao86@163.com  回復(fù)  更多評論
            
          # re: Lucene+Heritrix 開發(fā)搜索引擎
          2009-03-30 10:25 | springbird
          也是在做畢業(yè)設(shè)計,能給我一份嗎springbird2006@126.com  回復(fù)  更多評論
            
          # re: Lucene+Heritrix 開發(fā)搜索引擎
          2009-05-27 03:45 | 包子
          哪個有搜索引擎的畢業(yè)論文啊,給俺一份唄,急需啊
          zheyiw@163.com  回復(fù)  更多評論
            
          # re: Lucene+Heritrix 開發(fā)搜索引擎
          2009-09-08 13:51 | Lucene+Heritrix
          麻煩給我也發(fā)個例子吧
          yangjinding888@126.com  回復(fù)  更多評論
            
          # re: Lucene+Heritrix 開發(fā)搜索引擎
          2010-05-17 16:13 | 李新研
          急求例子 謝謝 503579441@qq.com  回復(fù)  更多評論
            
          # re: Lucene+Heritrix 開發(fā)搜索引擎
          2010-06-05 10:18 | 藍狐
          麻煩給我也發(fā)個例子吧
          lanhuhe88@163.com
          謝謝!!!!!!!!!!!!!!!  回復(fù)  更多評論
            
          Java-Android-jwebee
          主站蜘蛛池模板: 安图县| 海城市| 漳州市| 博白县| 弋阳县| 恭城| 章丘市| 中宁县| 青浦区| 化州市| 沙雅县| 余干县| 孝昌县| 綦江县| 乐东| 甘孜县| 沐川县| 怀化市| 金阳县| 江陵县| 陆河县| 阳东县| 淳安县| 固阳县| 乌兰县| 奉节县| 张家港市| 乌拉特中旗| 突泉县| 乌海市| 马尔康县| 岢岚县| 河源市| 阿克陶县| 潍坊市| 新丰县| 扶绥县| 凭祥市| 威远县| 镇康县| 深水埗区|