freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java語言的搜索引擎開發(fā)論文-文庫吧資料

2024-11-25 21:54本頁面
  

【正文】 MAIN 函數(shù)設(shè)計 而其中程序的入口 MAIN 函數(shù)所在的類路徑為: . Searcher,該部分的代碼如下: ( 1)引入了搜索引擎所需要的類包,以此構(gòu)造一個機器人程序。 4. 搜索引擎開發(fā) 本畢業(yè)設(shè)計的網(wǎng)絡(luò)搜索引擎由 、 edu、 text 三個部分組成,這三個部分相對獨立,又通過不同 的 類 /接口完成各自功能的連接,最后成為一個整體,以完成該搜索引擎的主要功能。實際上 tomcat 部分是 apache 服務(wù)器的擴展,但它是獨立運行的,所以當你運行 tomcat 時,它實際上作為一個與 apache 獨立的進程單獨運行的。 tomcat就是 webserver,可以作為上面說的服務(wù)器端的服務(wù)軟件,用于接收來自客戶端的請求,并做出相應(yīng)的 處理,然后再返回結(jié)果到客戶端。 Tomcat 的源代碼被提供給 Jakarta 項目,在 Open Source 的模型下進行進一步的開發(fā)。 ● Javap: Java 反匯編器,顯示 編譯類文件中的可訪問功能和數(shù)據(jù),同時顯示字節(jié)代碼含義。 ● Jdb: Java 調(diào)試器,可以逐行執(zhí)行程序,設(shè)置斷點和檢查變量。 ● appletviewer: 小程序瀏覽器,一種執(zhí)行 HTML 文件上的 Java 小程序的 Java 瀏覽器。 12 ● Javac: Java 編譯器,將 Java 源代碼轉(zhuǎn)換成字節(jié)碼。 JDK 為編程人員提供了 JAVA 基礎(chǔ)類庫( JFC), JFC 包含很多包, 在 每個包中都有若干個特定功能和相互關(guān)系的類和接口。其中 IBM的 JDK 包含的 JVM( Java Virtual Machine)運行效率要比 Sun JDK 包含的 JVM 高出許多。 不論什么 Java 應(yīng)用服務(wù)器實質(zhì)都是內(nèi)置了某個版本的 JDK。一般來說, Java API 的非 I/O 部分對于運行 Java 的所有平臺是相同的,而 I/O 部分則僅在通用 Java 環(huán)境中實現(xiàn) , 是整個 Java 的核心,包括了 Java 運行環(huán)境( Java Runtime Envirnment), 很多 Java 工具和 Java 基礎(chǔ)的類庫 ()。其核心 Java API 是一些預定義的類庫,開發(fā)人員需要用這些類來訪問 Java 語言的功能。 Java 提供: Null指針檢測、數(shù)組邊界檢測、異常出口、 Byte code 校驗。 Java 還實現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯誤。這使得程序員使用網(wǎng)絡(luò)上的文件和使用本機文件一樣容易。 ( 4) 分布式 Java 建立在擴展 TCP/IP 網(wǎng)絡(luò)平臺上。在 Java 中,類的繼承關(guān)系是單一的非多重的,一個子類只有一個父類,子類的父類又有一個父類。程序員只需把主要精力用在類和接口的設(shè)計和應(yīng)用上。 ( 3) 面向?qū)ο? Java 吸取 了 C++面向?qū)ο蟮母拍?,將數(shù)據(jù)封裝于類中 ,利用類的優(yōu)點 ,實現(xiàn)了程序的簡潔性和便于維護性。 Java 舍棄了 C++的指針對存儲器地址的直接操作,程序運行時,內(nèi)存由操作 系統(tǒng)分配,這樣可以避免病毒通過指針侵入系統(tǒng)。 Java的數(shù)據(jù)類型與機器無關(guān), Java 虛擬機( Java Virtual Machine)是建立在硬件和操作系統(tǒng)之上,實現(xiàn) Java 二進制代碼的解釋執(zhí)行功能 , 提供于不同平臺的接口的。 Java 引進虛擬機原理,并運行于虛擬機,實現(xiàn) 于 不同平臺的 Java 接口之間。 本課題所使用的網(wǎng)絡(luò)編程語言 均 為 JAVA。 Java 是一種簡單的,面 向 對象的,分布式的,解釋的,健 壯的 , 安全的,結(jié)構(gòu)的中立的,可移植的,性能很優(yōu)異的多線程的,動態(tài)的語言。網(wǎng)絡(luò)信息量的集聚增加,尋找有 用信息難度的大幅度增加,成為網(wǎng)絡(luò)搜索引擎的開發(fā)原因。今天,搜索引擎已成為人們在網(wǎng)絡(luò)信息海洋中自如沖浪必不可少的利器。要在如此浩瀚的海洋里尋找信息,就像 “大海撈針 ”一樣。 10 3. 開發(fā) 環(huán)境 信息技術(shù)的不斷發(fā)展,特別 是互聯(lián)網(wǎng)應(yīng)用的迅速普及,深入到了人們生活的各個方面,改變了人們 的 生活方式和思維方式,方便了全球信息資源共享。 Lucene 的另外一個特點是在收集結(jié)果的過程中將匹配度低的結(jié)果自動過濾掉了。所以如果構(gòu)造一個 Searcher去查 1- 120 條結(jié)果, Searcher 其實是進行了 2 次搜索過 程:頭 100 條取完后,緩存結(jié)果用完, Searcher 重新檢索 , 再構(gòu)造一個 200 條的結(jié)果緩存,依此類推, 400 條緩存,800 條緩存。對于一般的模糊檢索應(yīng)用是用不到這么多的結(jié)果的,頭 100 條已經(jīng)可以滿足 90%以上的檢索需求。 搜索過程優(yōu)化 Lucene 面向全文檢索的優(yōu)化在于首次索引檢索后,并不把所有的記錄( Document)具體內(nèi)容讀取出來,而只將所有結(jié)果中匹配度最高的頭 100 條結(jié)果( TopDocs)的 ID放到結(jié)果集緩存中并返回,這里可以比 較一下數(shù)據(jù)庫檢索:如果是一個 10,000 條的數(shù)據(jù)庫檢索結(jié)果集,數(shù)據(jù)庫是一定要把所有記錄內(nèi)容都取得以后再開始返回給應(yīng)用結(jié)果集的。在 IndexWriter 中有一 MERGE_FACTOR 參數(shù)可以幫助你在構(gòu)造索引器后根據(jù)應(yīng)用環(huán)境的情況充分利用內(nèi)存減少文件的操作。這個批次的間隔越大,文件的寫入次數(shù)越少,但占用內(nèi)存會很多。在索 9 引過程中,并不是每次新的 DOC 加入進去索引都重新進行一次索引文件的寫入操作(文件 I/O 是一件非常消耗資源的事情)。 Lucene 輸入輸出接口 雖然 lucene 沒有定義一個確定的輸入文檔格式,但越來越多的人想到使用一個標準的中間格式作為 Lucene 的數(shù)據(jù)導入接口,然后 將 其他數(shù)據(jù),比如 PDF 只需要通過解析器轉(zhuǎn)換成標準的中間格式就可以進行數(shù)據(jù)索引了。 ? Lucene 并沒有 規(guī)定數(shù)據(jù)源的格式,只提供了一個通用的結(jié)構(gòu)( Document 對象)來接受索引的輸入,因此輸入的數(shù)據(jù)源可以是:數(shù)據(jù)庫, WORD 文檔, PDF文檔, HTML 文檔 …… 只要能夠設(shè)計相應(yīng)的解析轉(zhuǎn)換器將數(shù)據(jù)源構(gòu)造成Docuement 對象即可進行索引。 索引內(nèi)容抓取 Lucene 的文檔是由多個字段組成的,甚至可以控制那些字段需要進行索引,那些字段不需要索引,近一步索引的字段也分為需要分詞和不需要分詞的類型: 需要進行分詞的索引,比如:標題,文章內(nèi) 容字段 不需要進行分詞的索引,比如:作者/日期字段 缺乏通用性,往往將文檔整個索引了 語言分析 通過語言分析器的不同擴展實現(xiàn): 可以過濾掉不需要的詞: an the of 等, 西文語法分析:將 jumps jumped jumper 都歸結(jié)成 jump 進行索引 /檢索 非英文支持:對亞洲語言,阿了伯語言的索引支持 缺乏通用接口實現(xiàn) 查詢分析 通過查詢分析接口的實現(xiàn),可以定制自己的查詢語法規(guī)則: 比如: 多個關(guān)鍵詞之間的 + and or關(guān)系等 并發(fā)訪問 能夠支持多用戶的使用 Lucene 的使用 lucene 的組成結(jié)構(gòu):對于外部應(yīng)用來說索引模塊 (index)和檢索模塊 (search)是主要的外部應(yīng)用入口 。 時數(shù)據(jù)源有一點增加也需要重建索引。 在運行時, 不是維護一個索引文件,而是在擴展索引的時候不斷創(chuàng)建新的索引文件,然后定期的把這些新的小索引文件合并到原先的大索引中(針對不同的更新策略,批次的大小可以調(diào)整),這樣在不影響檢索的效率的前提下,提高了索引的效率。 而表 中是 Lucene 和數(shù)據(jù)庫 的比較: 表 Lucene 和數(shù)據(jù)庫 的比較 Lucene 數(shù)據(jù)庫 索引數(shù)據(jù)源: doc(field1,field2...) doc(field1,field2...) \ indexer / _____________ | Lucene Index| / searcher \ 結(jié)果輸出: Hits(doc(field1,field2) doc(field1...)) 索引數(shù)據(jù)源: record(field1,field2...) record(field1..) \ SQL: insert/ _____________ | DB Index | / SQL: select \ 結(jié)果輸出:results(record(field1,field2..) record(field1...)) Document:一個需要進行索引的 “單元 ” 一個 Document 由多個字段組成 Record:記錄,包含多個字段 Field:字段 Field:字段 Hits:查詢結(jié)果集,由匹配的 Document 組成 RecordSet:查詢結(jié)果集,由多個 Record組成 建立一個高效檢索系統(tǒng)的關(guān)鍵是建立一個類似于科技索引一樣的反向索引機制,將數(shù)據(jù)源(比如多篇文章)排序順序存儲的同時,有另外一個 已 排好序的關(guān)鍵詞列表,用于存儲關(guān)鍵詞 ==文章映射關(guān)系,利用這樣的映射關(guān)系索引: [關(guān)鍵詞 ==出現(xiàn)關(guān)鍵詞的文章編號,出現(xiàn)次數(shù)(甚至包括位置:起始偏移量,結(jié)束偏移量),出現(xiàn)頻率 ],檢索過程就是把 模糊查詢變成多個可以利用索
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1