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

正文內容

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

2024-12-23 21:54 本頁面
 

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