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

正文內(nèi)容

jsp基于產(chǎn)品的搜索引擎-在線瀏覽

2025-01-17 04:00本頁面
  

【正文】 s in the inter are abundant, but it is a difficult job to search some useful information. So a search engine is the best method to solve this problem. This article fist introduces the system structure of search engine based on the inter in detail, then gives a minute explanation form Spider search, engine and web server. In order to understand the technology more deeply, I have programmed a news search engine by myself. The news search engine is explained and searched according to hyperlink from a appointed web page, then indexs every searched information and adds it to the index database. Then after receiving the customers39。因此它也成為除了電子郵件以外最多人使用的網(wǎng)上服務(wù)。搜索引擎大約經(jīng)歷了三代的更新發(fā)展: 第一代搜索引擎出現(xiàn)于 1994 年。而且其檢索速度非常慢,一般都要等待 10 秒甚至更長的時(shí)間。在 1994 年 3 月到 4 月,網(wǎng)絡(luò)爬蟲 World Web Worm (WWWW)平均每天承受大約 1500 次查詢。 1997 年 11月,當(dāng)時(shí)最先進(jìn)的幾個(gè)搜索引擎號(hào)稱能建立從 2, 000, 000 到100, 000, 000 的網(wǎng)頁索引。 2020 年搜索引擎 2020 年大會(huì)上,按照 Google 公司總裁 Larry Page 的演講,Google 正在用 3,000 臺(tái)運(yùn)行 Linux 系統(tǒng)的個(gè)人電腦在搜集 Web 上的網(wǎng)頁,而且以每天 30 臺(tái)的速度向這個(gè)微機(jī)集群里添加電腦,以保持與網(wǎng)絡(luò)的發(fā)展相同步。在美國搜索引擎通常指的是基于因特網(wǎng)的搜索引擎,他們通過網(wǎng)絡(luò)機(jī)器人程序收集上千萬到幾億個(gè)網(wǎng)頁,并且每一個(gè)詞都被搜索引擎索引,也就是我們說的全文檢索。在中國,搜索引擎通常指基于網(wǎng)站目錄的搜索服務(wù)或是特定網(wǎng)站的搜索服務(wù),本人這里研基于的搜索引擎 第 6 頁 共 34 頁 究的是基于因特網(wǎng)的搜索技術(shù)。為了保證用戶查找信息的精度和新鮮度,搜索引擎需要建立并維護(hù)一個(gè)龐大的索引數(shù)據(jù)庫。 系統(tǒng)結(jié)構(gòu)圖 網(wǎng)絡(luò)機(jī)器人 網(wǎng)絡(luò)機(jī)器人也稱為“網(wǎng)絡(luò)蜘蛛” (Spider),是一個(gè)功能很強(qiáng)的 WEB掃描程序。因?yàn)?WEB 中廣泛使用超鏈接,所以一個(gè) Spider 程序理論上可以訪問整個(gè) WEB 頁面。 索引與搜索 網(wǎng)絡(luò)機(jī)器人將遍歷得到的頁面存放在臨時(shí)數(shù)據(jù)庫中,如果通過 SQL 直接查詢WWW 文檔 網(wǎng)絡(luò)機(jī)器人程序 建立 Lucene 索引 從數(shù)據(jù)庫中搜索信息 Tomcat 服務(wù)器 Lucene 索引數(shù)據(jù)庫 WWW 瀏覽器 WWW 瀏覽器 JSP 網(wǎng)絡(luò)機(jī)器人程序 基于的搜索引擎 第 8 頁 共 34 頁 信息速度將會(huì)難以忍受。如果索引不及時(shí)跟新的話,用戶用搜索引擎也不能檢索到。 Web 服務(wù)器 客戶一般通過瀏覽器進(jìn)行查詢,這就需要系統(tǒng)提供 Web 服務(wù)器并且與索引數(shù)據(jù)庫進(jìn)行 連接。 搜索引擎的主要指標(biāo)有響應(yīng)時(shí)間、召回率、準(zhǔn)確率、相關(guān)度等。搜索引擎的技術(shù)指標(biāo)決定了搜索引擎的評(píng)價(jià)指標(biāo)。 召回率 : 一次搜索結(jié)果中符合用戶要求的數(shù)目與用戶查詢相關(guān)信息的總數(shù)之比 準(zhǔn)確率 : 一次搜索結(jié)果中符合用戶要求的數(shù)目與該次搜索結(jié)果總數(shù)之 比 相關(guān)度 : 用戶查詢與搜索結(jié)果之間相似度的一種度量 精確度 : 對(duì)搜索結(jié)果的排序分級(jí)能力和對(duì)垃圾網(wǎng)頁的抗干擾能力 以上對(duì)基于因特網(wǎng)的搜索引擎結(jié)構(gòu)和性能指標(biāo)進(jìn)行了分析,本人在這些研究的基礎(chǔ)上利用 JavaTM 技術(shù)和一些 Open Source 工具實(shí)現(xiàn)了一個(gè)簡單的搜索引擎—— 新聞搜索引擎。 基于的搜索引擎 第 9 頁 共 34 頁 第三章 網(wǎng)絡(luò)機(jī)器人 網(wǎng)絡(luò)機(jī)器人又稱為 Spider 程序,是一種專業(yè)的 Bot 程序。它從一個(gè)簡單的 Web 頁面上開始 執(zhí)行,然后通過其超鏈接在訪問其他頁面,如此反復(fù)理論上可以掃描互聯(lián)網(wǎng)上的所有頁面。例如搜索巨頭 Google 公司,就利用網(wǎng)絡(luò)機(jī)器人程序來遍歷 Web 站點(diǎn),以創(chuàng)建并維護(hù)這些大型數(shù)據(jù)庫。還可以掃描出中斷的超鏈接和拼寫錯(cuò)誤等。 Web 就是建立在 HTTP ( Hypertext Transfer Protocol ) 協(xié)議基礎(chǔ)上,而 HTTP 又是建立在 TCP/IP ( Transmission Control Protocol / Inter Protocol ) 協(xié)議之上,它同時(shí)也是一種 Socket 協(xié)議。 如何解析 HTML 因?yàn)?Web 中的信息都是建立在 HTML 協(xié)議之上的,所以網(wǎng)絡(luò)機(jī)器人在檢索網(wǎng)頁時(shí)的第一個(gè)問題就是如何解析 HTML。 文本: 除了腳本和標(biāo)簽之外的所有數(shù)據(jù) 注 釋: 程序員留下的說明文字,對(duì)用戶是不可見的 簡單標(biāo)簽: 由單個(gè)表示的 HTML標(biāo)簽 開始標(biāo)簽和結(jié)束標(biāo)簽: 用來控制所包含的 HTML代碼 我們在進(jìn)行解析的時(shí)候不用關(guān)心所有的標(biāo)簽,只需要對(duì)其中幾種重要的進(jìn)行解析即可。他們的主要目的是使用戶能夠任意遷移到新的頁面,這正是網(wǎng)絡(luò)機(jī)器人最關(guān)心的標(biāo)簽。它可以讓用戶通過點(diǎn)擊圖片來遷移到新的頁面中。許多站點(diǎn)讓用戶填寫 數(shù)據(jù)然后通過點(diǎn)擊按鈕來提交內(nèi)容,這就是表單的典型應(yīng)用。 我 們在 具體解析這些 HTMl 標(biāo)簽有兩種方法:通過 JavaTM 中的 Swing 類來解析或者通過 Bot 包中的 HTMLPage 類來解析 ,本人在實(shí)際編程中采用后者。下面給出該類幾種重要的方法。程序首先解析網(wǎng)頁的 HTML 代碼,查找該頁面內(nèi)的超連接然后通過遞歸和非遞歸兩種結(jié)構(gòu)來實(shí)現(xiàn) Spider 程序。雖然比較容易實(shí)現(xiàn)但耗費(fèi)內(nèi)存且不能使用多線程技術(shù),故不適合大型項(xiàng)目。當(dāng) Spider 程序掃描完當(dāng)前頁面后會(huì)根據(jù)制定的策略訪問隊(duì)列中的下一個(gè)超連接地址。 等待隊(duì)列 在這個(gè)隊(duì)列中, URL 等待被 Spider 程序處理。該隊(duì)列中的 URL 不能被移入其他隊(duì)列中 完成隊(duì)列 如果解析網(wǎng)頁沒 有出錯(cuò), URL 將被送到這里。 以上的圖表示了隊(duì)列的變化過程,在這個(gè)過程中,當(dāng)一個(gè) URL 被加入到等待隊(duì)列中時(shí) Spider 程序就會(huì)開始運(yùn)行。當(dāng)?shù)却?duì)列為空并且當(dāng)前沒有任何網(wǎng)頁時(shí), Spider 程序就會(huì)停止它的工作。以及如何對(duì)這個(gè)程序進(jìn)行擴(kuò)展。 是 這個(gè)網(wǎng)頁包含其他超級(jí)連接嗎? 將這一網(wǎng)頁送入完成隊(duì)列并繼續(xù) 查看網(wǎng)頁上的下一個(gè)超連接 是否為指向Web 的連接? 報(bào)告其他類型連接 連接是否與網(wǎng)頁所在主機(jī)不同且只處理本地連接? 報(bào)告外部連接 報(bào)告網(wǎng)頁連接 將連接加入等候隊(duì)列 否 是 否 是 否 是 基于的搜索引擎 第 13 頁 共 34 頁 IspiderReportable 接口 這是一個(gè)必須實(shí)現(xiàn)的接口,可以通過回調(diào)函數(shù)接受 Spider 所遇到的頁面。通過提供對(duì)每個(gè)事件的處理程序,可以創(chuàng)建各種 Spider 程序。 public boolean foundExternalLink(String url)。 public void processPage(HTTP page)。 public boolean getRemoveQuery()。 } 如何提高程序性能 Inter 中擁有海量的 Web 頁面,如果開發(fā)出高效的 Spider 程序是非常重要的。多線程是一個(gè)程序同時(shí)運(yùn)行多個(gè)任務(wù)的能力。 優(yōu)化程序的通常方法是確定瓶頸并改進(jìn)他。據(jù)個(gè)例子說明:一個(gè) Spider 程序需要下載十個(gè)頁面,要完成這一任務(wù),程序必須向服務(wù)器發(fā)出請(qǐng)求然后接受這些網(wǎng)頁。如果用多線程技術(shù)可以讓這些網(wǎng)頁的等待時(shí)間合在一起,不用互相影響,這就可以極大的改進(jìn)程序性能。這些隊(duì)列管理 Spider 程序必須維護(hù)大型網(wǎng)頁的列表。 網(wǎng)絡(luò)機(jī)器人的代碼分析 程序結(jié)構(gòu)圖如下: 程序代碼實(shí)現(xiàn)如下: package news。 import 。 import 。 import 。 Searcher _searcher = new Searcher()。 (100)。 } // 發(fā)現(xiàn)內(nèi)部連接時(shí)調(diào)用, url表示程序發(fā)現(xiàn)的 URL,若返回 true則加入作業(yè)中,否則不加入。 } // 發(fā)現(xiàn)外部連接時(shí)調(diào)用, url表示程序所發(fā)現(xiàn)的 URL,若返回 true則把加入作業(yè)中,否則不加入。 } // 當(dāng)發(fā)現(xiàn)其他連接時(shí)調(diào)用這個(gè)方法。 } // 用于處理網(wǎng)頁,這是 Spider程序要完成的實(shí)際工作。 new HTMLParse().start()。 public void pletePage(HTTP , boolean error) { } // 由 Spider程序調(diào)用以確定查詢字符串是否應(yīng)刪除。 public boolean getRemoveQuery() { return true。 public void spiderComplete() { } } 在本章 中,首先介紹了網(wǎng)絡(luò)機(jī)器人的基本概念,然后具體分析了 Spider 程序的結(jié)構(gòu)和功能。 本人在編程中運(yùn)用了 JavaTM技術(shù),主要涉及到了 和 io 兩個(gè)包。 基于的搜索引擎 第 17 頁 共 34 頁 第四章 基于 lucene 的索引與搜索 Lucene 全文檢索 Lucene 是 Jakarta Apache 的開源項(xiàng)目。 Lucene 的原理分析 全文檢索的實(shí)現(xiàn)機(jī)制 Lucene 的 API 接口設(shè)計(jì)的比較通用,輸入輸出結(jié)構(gòu)都很像數(shù)據(jù)庫的表 ==記錄 ==字段,所以很多傳統(tǒng)的應(yīng)用的文件、數(shù)據(jù)庫等都可以比較方便的映射到 Lucene 的存儲(chǔ)結(jié)構(gòu) 和接口中。 索引數(shù)據(jù)源: doc(field1,field2...) doc(field1,field2...) \ indexer / _____________ | Lucene Index| / searcher \ 結(jié)果輸出: Hits(doc(field1,field2) doc(field1...)) Document:一個(gè)需要進(jìn)行索引的 “單元 ”,一個(gè) Document由多個(gè)字段組成 Field: 字段 Hits: 查詢結(jié)果集,由匹配的 Document組成 Lucene 的索引效率 通 常書籍后面常常附關(guān)鍵詞索引表(比如:北京: 12,
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1