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

正文內(nèi)容

基于java語(yǔ)言的搜索引擎開發(fā)論文(編輯修改稿)

2024-12-23 21:54 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ne 先在內(nèi)存中進(jìn)行索引操作,并根據(jù)一定的批量進(jìn)行文件的寫入。這個(gè)批次的間隔越大,文件的寫入次數(shù)越少,但占用內(nèi)存會(huì)很多。反之占用內(nèi)存少,但文件 IO操作頻 繁,索引速度會(huì)很慢。在 IndexWriter 中有一 MERGE_FACTOR 參數(shù)可以幫助你在構(gòu)造索引器后根據(jù)應(yīng)用環(huán)境的情況充分利用內(nèi)存減少文件的操作。根據(jù)我的使用經(jīng)驗(yàn):缺省 Indexer 是每 20 條記錄索引后寫入一次,每 當(dāng) MERGE_FACTOR 增加 50 倍,索引速度可以提高 1 倍左右。 搜索過(guò)程優(yōu)化 Lucene 面向全文檢索的優(yōu)化在于首次索引檢索后,并不把所有的記錄( Document)具體內(nèi)容讀取出來(lái),而只將所有結(jié)果中匹配度最高的頭 100 條結(jié)果( TopDocs)的 ID放到結(jié)果集緩存中并返回,這里可以比 較一下數(shù)據(jù)庫(kù)檢索:如果是一個(gè) 10,000 條的數(shù)據(jù)庫(kù)檢索結(jié)果集,數(shù)據(jù)庫(kù)是一定要把所有記錄內(nèi)容都取得以后再開始返回給應(yīng)用結(jié)果集的。所以即使檢索匹配總數(shù)很多, Lucene 的結(jié)果集占用的內(nèi)存空間也不會(huì)很多。對(duì)于一般的模糊檢索應(yīng)用是用不到這么多的結(jié)果的,頭 100 條已經(jīng)可以滿足 90%以上的檢索需求。 如果首批緩存結(jié)果數(shù)用完后還要讀取更后面的結(jié)果時(shí) Searcher 會(huì)再次檢索并生成一個(gè) 比 上次的搜索緩存數(shù)大 1 倍的緩存,再重新向后抓取。所以如果構(gòu)造一個(gè) Searcher去查 1- 120 條結(jié)果, Searcher 其實(shí)是進(jìn)行了 2 次搜索過(guò) 程:頭 100 條取完后,緩存結(jié)果用完, Searcher 重新檢索 , 再構(gòu)造一個(gè) 200 條的結(jié)果緩存,依此類推, 400 條緩存,800 條緩存。由于每次 Searcher 對(duì)象消失后,這些緩存也 就 訪問(wèn)不到了,你有可能想將結(jié)果記錄緩存下來(lái),緩存數(shù)盡量保證在 100 以下以充分利用首次的結(jié)果緩存,不讓Lucene 浪費(fèi)多次檢索,而且可以分級(jí)進(jìn)行結(jié)果緩存。 Lucene 的另外一個(gè)特點(diǎn)是在收集結(jié)果的過(guò)程中將匹配度低的結(jié)果自動(dòng)過(guò)濾掉了。這也是和數(shù)據(jù)庫(kù)應(yīng)用 中 需要將搜索的結(jié)果全部返回不同之處。 10 3. 開發(fā) 環(huán)境 信息技術(shù)的不斷發(fā)展,特別 是互聯(lián)網(wǎng)應(yīng)用的迅速普及,深入到了人們生活的各個(gè)方面,改變了人們 的 生活方式和思維方式,方便了全球信息資源共享。全球目前的網(wǎng)頁(yè)超過(guò) 100 億,每天新增加數(shù)百萬(wàn)網(wǎng)頁(yè),電子信息爆炸似的豐富起來(lái)。要在如此浩瀚的海洋里尋找信息,就像 “大海撈針 ”一樣。能有一種工具使我們可以在不到 1 秒鐘的時(shí)間就迅速找到我們想要的內(nèi)容嗎?答案是 “有 ”,這就是搜索引擎。今天,搜索引擎已成為人們?cè)诰W(wǎng)絡(luò)信息海洋中自如沖浪必不可少的利器。 而 隨著網(wǎng)絡(luò)技術(shù)的進(jìn)步,網(wǎng)絡(luò)編程語(yǔ)言的開發(fā)以及進(jìn)步,給網(wǎng)絡(luò)搜索引擎的開發(fā)提供了前提條件。網(wǎng)絡(luò)信息量的集聚增加,尋找有 用信息難度的大幅度增加,成為網(wǎng)絡(luò)搜索引擎的開發(fā)原因。 網(wǎng)絡(luò)編程語(yǔ)言 JAVA JAVA 語(yǔ)言自從誕生以來(lái),以其平臺(tái)無(wú)關(guān)性,面向?qū)ο?,多線程,半編譯半解釋等特點(diǎn)而成為網(wǎng)絡(luò)時(shí)代的編程語(yǔ)言。 Java 是一種簡(jiǎn)單的,面 向 對(duì)象的,分布式的,解釋的,健 壯的 , 安全的,結(jié)構(gòu)的中立的,可移植的,性能很優(yōu)異的多線程的,動(dòng)態(tài)的語(yǔ)言。 正是因?yàn)檫@些原因, JAVA 語(yǔ)言無(wú)可厚非成為最優(yōu)秀的網(wǎng)絡(luò)編程語(yǔ)言,正因?yàn)槿绱?,我選JAVA 語(yǔ)言作為我開發(fā)網(wǎng)絡(luò)搜索引擎的工具。 本課題所使用的網(wǎng)絡(luò)編程語(yǔ)言 均 為 JAVA。 Java 的特點(diǎn) ( 1) 平臺(tái)無(wú)關(guān)性 平臺(tái)無(wú)關(guān)性是指 Java 能運(yùn)行于不同的平臺(tái)。 Java 引進(jìn)虛擬機(jī)原理,并運(yùn)行于虛擬機(jī),實(shí)現(xiàn) 于 不同平臺(tái)的 Java 接口之間。使用 Java 編寫的程序能在世界范圍內(nèi)共享。 Java的數(shù)據(jù)類型與機(jī)器無(wú)關(guān), Java 虛擬機(jī)( Java Virtual Machine)是建立在硬件和操作系統(tǒng)之上,實(shí)現(xiàn) Java 二進(jìn)制代碼的解釋執(zhí)行功能 , 提供于不同平臺(tái)的接口的。 ( 2) 安全性 Java 的編程類似 C++,學(xué)習(xí)過(guò) C++的讀者將很快掌握 Java 的精髓。 Java 舍棄了 C++的指針對(duì)存儲(chǔ)器地址的直接操作,程序運(yùn)行時(shí),內(nèi)存由操作 系統(tǒng)分配,這樣可以避免病毒通過(guò)指針侵入系統(tǒng)。 Java 對(duì)程序提供了安全管理器,防止程序的非法訪問(wèn)。 ( 3) 面向?qū)ο? Java 吸取 了 C++面向?qū)ο蟮母拍?,將數(shù)據(jù)封裝于類中 ,利用類的優(yōu)點(diǎn) ,實(shí)現(xiàn)了程序的簡(jiǎn)潔性和便于維護(hù)性。類的封裝性、繼承性等有關(guān)對(duì)象的特性,使程序代碼只需一次編 11 譯,然后通過(guò)上述特性反復(fù)利用。程序員只需把主要精力用在類和接口的設(shè)計(jì)和應(yīng)用上。Java 提供了眾多的一般對(duì)象的類 ,通過(guò)繼承即可使用父類的方法。在 Java 中,類的繼承關(guān)系是單一的非多重的,一個(gè)子類只有一個(gè)父類,子類的父類又有一個(gè)父類。 Java 提供的 Object 類及其子類的繼承關(guān)系如同一棵倒立的樹形,根類為 Object 類, Object 類功能強(qiáng)大,經(jīng)常會(huì)使用到它及其它派生的子類。 ( 4) 分布式 Java 建立在擴(kuò)展 TCP/IP 網(wǎng)絡(luò)平臺(tái)上。庫(kù)函數(shù)提供了用 HTTP 和 FTP 協(xié)議傳送和接受信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文件和使用本機(jī)文件一樣容易。 ( 5) 健 壯性 Java 致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯(cuò)誤。 Java 自已操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。 Java 還實(shí)現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能。 這些功能特征大大提高了開發(fā) Java 應(yīng)用程序的周期。 Java 提供: Null指針檢測(cè)、數(shù)組邊界檢測(cè)、異常出口、 Byte code 校驗(yàn)。 JDK JDK,全名 Java Developers Kit,是開發(fā) JAVA 的 SUN 公司的 JAVA 語(yǔ)言的基本工具包,是個(gè)免費(fèi)開發(fā)運(yùn)行 JAVA 程序的基本軟件, 由一個(gè)標(biāo)準(zhǔn)類庫(kù)和一組 編譯工具所 建立,測(cè)試及建立文檔的 Java 實(shí)用程序組成。其核心 Java API 是一些預(yù)定義的類庫(kù),開發(fā)人員需要用這些類來(lái)訪問(wèn) Java 語(yǔ)言的功能。 Java API 包括一些重要的語(yǔ)言結(jié)構(gòu)以及基本圖形,網(wǎng)絡(luò)和文件 I/O。一般來(lái)說(shuō), Java API 的非 I/O 部分對(duì)于運(yùn)行 Java 的所有平臺(tái)是相同的,而 I/O 部分則僅在通用 Java 環(huán)境中實(shí)現(xiàn) , 是整個(gè) Java 的核心,包括了 Java 運(yùn)行環(huán)境( Java Runtime Envirnment), 很多 Java 工具和 Java 基礎(chǔ)的類庫(kù) ()。 該軟件可以從 網(wǎng)站免費(fèi)下載。 不論什么 Java 應(yīng)用服務(wù)器實(shí)質(zhì)都是內(nèi)置了某個(gè)版本的 JDK。除了 Sun 之外,還有很多公 司和組織都開發(fā)了自己的 JDK,例如IBM 公司開發(fā)的 JDK, BEA 公司的 Jrocket,還有 GNU 組織開發(fā)的 JDK 等等。其中 IBM的 JDK 包含的 JVM( Java Virtual Machine)運(yùn)行效率要比 Sun JDK 包含的 JVM 高出許多。而專門運(yùn)行在 x86 平臺(tái)的 Jrocket 在服務(wù)端 的 運(yùn)行效率也要比 Sun JDK 好很多。 JDK 為編程人員提供了 JAVA 基礎(chǔ)類庫(kù)( JFC), JFC 包含很多包, 在 每個(gè)包中都有若干個(gè)特定功能和相互關(guān)系的類和接口。 作為 JDK 實(shí)用程序,工具庫(kù)中有七種主要程序。 12 ● Javac: Java 編譯器,將 Java 源代碼轉(zhuǎn)換成字節(jié)碼。 ● Java: Java 解釋器,直接從類文件執(zhí)行 Java 應(yīng)用程序字節(jié)代碼。 ● appletviewer: 小程序?yàn)g覽器,一種執(zhí)行 HTML 文件上的 Java 小程序的 Java 瀏覽器。 ● Javadoc: 根據(jù) Java 源碼及說(shuō)明語(yǔ)句生成 HTML 文檔。 ● Jdb: Java 調(diào)試器,可以逐行執(zhí)行程序,設(shè)置斷點(diǎn)和檢查變量。 ● Javah: 產(chǎn)生可以調(diào)用 Java 過(guò)程的 C 過(guò)程,或建立能被 Java 程序調(diào)用的 C 過(guò)程的頭文件。 ● Javap: Java 反匯編器,顯示 編譯類文件中的可訪問(wèn)功能和數(shù)據(jù),同時(shí)顯示字節(jié)代碼含義。 TOMCAT Tomcat 是 Sun 的 JSWDK(JavaServer Web Development Kit)中 Servlet 的運(yùn)行環(huán)境(servlet 容器 )。 Tomcat 的源代碼被提供給 Jakarta 項(xiàng)目,在 Open Source 的模型下進(jìn)行進(jìn)一步的開發(fā)。 Tomcat 是一個(gè) Server 容器,同樣的, EJB 運(yùn)行在 EJB 的容器中。 tomcat就是 webserver,可以作為上面說(shuō)的服務(wù)器端的服務(wù)軟件,用于接收來(lái)自客戶端的請(qǐng)求,并做出相應(yīng)的 處理,然后再返回結(jié)果到客戶端。 我們可以這樣認(rèn)為, 當(dāng)在一臺(tái)機(jī)器上配置好 Apache 服務(wù)器,可利用它響應(yīng)對(duì) HTML頁(yè)面的訪問(wèn)請(qǐng)求。實(shí)際上 tomcat 部分是 apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行 tomcat 時(shí),它實(shí)際上作為一個(gè)與 apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。 這里的訣竅是,當(dāng)配置正確時(shí), Apache 為 .html 頁(yè)面服務(wù),而 tomcat 實(shí)際上運(yùn)行 .jsp 頁(yè)面和 servlet。 4. 搜索引擎開發(fā) 本畢業(yè)設(shè)計(jì)的網(wǎng)絡(luò)搜索引擎由 、 edu、 text 三個(gè)部分組成,這三個(gè)部分相對(duì)獨(dú)立,又通過(guò)不同 的 類 /接口完成各自功能的連接,最后成為一個(gè)整體,以完成該搜索引擎的主要功能。 搜索引擎使用的類 /接口 在 JAVA 編程中經(jīng)常要使用各式各樣的類 /接口,它們是 JAVA 程序的連接和實(shí)現(xiàn)的主要方法,下圖 為該搜索引擎的主要的類 /接口的關(guān)系圖: 13 圖 主要
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1