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

正文內(nèi)容

基于java的搜索引擎的設(shè)計與實現(xiàn)-在線瀏覽

2025-08-10 07:09本頁面
  

【正文】 ........................................25引 言面對浩瀚的網(wǎng)絡(luò)資源,搜索引擎為所有網(wǎng)上沖浪的用戶提供了一個入口,毫不夸張的說,所有的用戶都可以從搜索出發(fā)到達自己想去的網(wǎng)上任何一個地方。本人在介紹搜索引擎的章節(jié)中除了詳細的闡述技術(shù)核心外還結(jié)合了新聞搜索引擎的實現(xiàn)代碼來說明,圖文并茂、易于理解。新聞搜索引擎是從指定的 Web 頁面中按照超連接進行解析、搜索,并把搜索到的每條新聞進行索引后加入數(shù)據(jù)庫。本文首先詳細介紹了基于英特網(wǎng)的搜索引擎的系統(tǒng)結(jié)構(gòu),然后從網(wǎng)絡(luò)機器人、索引引擎、Web 服務(wù)器三個方面進行詳細的說明。摘 要網(wǎng)絡(luò)中的資源非常豐富,但是如何有效的搜索信息卻是一件困難的事情。建立搜索引擎就是解決這個問題的最好方法。為了更加深刻的理解這種技術(shù),本人還親自實現(xiàn)了一個自己的搜索引擎——新聞搜索引擎。然后通過 Web 服務(wù)器接受客戶端請求后從索引數(shù)據(jù)庫中搜索出所匹配的新聞。關(guān)鍵詞:搜索引擎;網(wǎng)絡(luò)蜘蛛;搜索策略AbstractThe resources 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 indexes every searched information and adds it to the index database. Then after receiving the customers39。因此它也成為除了電子郵件以外最多人使用的網(wǎng)上服務(wù)。搜索引擎大約經(jīng)歷了三代的更新發(fā)展:第一代搜索引擎出現(xiàn)于 1994 年前后。它主要依靠人工分揀的分類目錄搜索,通常由網(wǎng)頁制作人自行建立網(wǎng)站名稱、網(wǎng)站內(nèi)容的文字摘要,并將其加入到搜索引擎的資料庫中。這種方法只能進行簡單的字符串匹配,無法進行全文搜索。第二代搜索引擎,利用超鏈接分析為基礎(chǔ)的機器抓取技術(shù),由搜索引擎使用一個程序在網(wǎng)絡(luò)上擷取資料,并自動將得到的結(jié)果存入索引庫中。這些引擎的主要特點是提高了查準(zhǔn)率,可以用“求精”來描述它的優(yōu)點,即不需要網(wǎng)站制作人單獨鍵入供搜索的信息,并且從理論上講,可將任意網(wǎng)站的所有網(wǎng)頁加入到它的資料庫中。第三代搜索引擎是對第二代搜索引擎的改進,相對于前兩代,其更注重智能化和用戶使用的個性化,主要增加了互動性和個性化等高級的技術(shù),采用了中文自動分類、自動聚類等人工智能技術(shù),而且使用了中文內(nèi)容分析技術(shù)以及區(qū)域智能識別技術(shù),增強了搜索引擎的查詢能力。在美國搜索引擎通常指的是基于因特網(wǎng)的搜索引擎,他們通過網(wǎng)絡(luò)機器人程序收集上千萬到幾億個網(wǎng)頁,并且每一個詞都被搜索引擎索引,也就是我們說的全文檢索。本人這里研究的就是基于因特網(wǎng)的搜索技術(shù)。為了保證用戶查找信息的精度和新鮮度,搜索引擎需要建立并維護一個龐大的索引數(shù)據(jù)庫。系統(tǒng)結(jié)構(gòu)圖 搜索引擎的構(gòu)成 網(wǎng)絡(luò)蜘蛛網(wǎng)絡(luò)蜘蛛也稱為“網(wǎng)絡(luò)機器人”(Spider),是一個功能很強的 WEB 掃描程序。因為 WEB 中廣泛使用超鏈接,所以一個 Spider 程序理論上可以訪問整個WEB 頁面。 索引與搜索網(wǎng)絡(luò)機器人將遍歷得到的頁面存放在臨時數(shù)據(jù)庫中,如果通過 SQL 直接查詢信息速度將會難以忍受。如果索引不及時跟新的話,用戶用搜索引擎也不能檢索到。 Web 服務(wù)器 客戶一般通過瀏覽器進行查詢,這就需要系統(tǒng)提供 Web 服務(wù)器并且與索引數(shù)據(jù)庫進行連接。 搜索引擎的主要指標(biāo)及分析搜索引擎的主要指標(biāo)有響應(yīng)時間、召回率、準(zhǔn)確率、相關(guān)度等。搜索引擎的技術(shù)指標(biāo)決定了搜索引擎的評價指標(biāo)。召回率:一次搜索結(jié)果中符合用戶要求的數(shù)目與用戶查詢相關(guān)信息的總數(shù)之比。相關(guān)度:用戶查詢與搜索結(jié)果之間相似度的一種度量。2 網(wǎng)絡(luò)機器人 什么是網(wǎng)絡(luò)機器人網(wǎng)絡(luò)機器人又稱為 Spider 程序,是一種專業(yè)的 Bot 程序。它從一個簡單的 Web 頁面上開始執(zhí)行,然后通過其超鏈接在訪問其他頁面,如此反復(fù)理論上可以掃描互聯(lián)網(wǎng)上的所有頁面。例如搜索巨頭 Google 公司,就利用網(wǎng)絡(luò)機器人程序來遍歷 Web 站點,以創(chuàng)建并維護這些大型數(shù)據(jù)庫。還可以掃描出中斷的超鏈接和拼寫錯誤等。Web 就是建立在 HTTP ( Hypertext Transfer Protocol ) 協(xié)議基礎(chǔ)上,而 HTTP 又是建立在 TCP/IP ( Transmission Control Protocol / Inter Protocol ) 協(xié)議之上,它同時也是一種 Socket 協(xié)議。 Spider 程序結(jié)構(gòu)網(wǎng)絡(luò)機器人必須從一個網(wǎng)頁遷移到另一個網(wǎng)頁,所以必須找到該頁面上的超連接。遞歸結(jié)構(gòu):遞歸是在一個方法中調(diào)用自己本身的程序設(shè)計技術(shù)。非遞歸結(jié)構(gòu):這種方法使用隊列的數(shù)據(jù)結(jié)構(gòu),當(dāng) Spider 程序發(fā)現(xiàn)超連接后并不調(diào)用自己本身而是把超連接加入到等待隊列中。雖然這里只描述了一個隊列,但在實際編程中用到了四個隊列,他們每個隊列都保存著同一處理狀態(tài)的 URL。新發(fā)現(xiàn)的URL 也被加入到這個隊列中。(3)錯誤隊列:如果在解析網(wǎng)頁時出錯,URL 將被送到這里。(4)完成隊列:如果解析網(wǎng)頁沒有出錯,URL 將被送到這里。在同一時間 URL 只能在一個隊列中,我們把它稱為 URL 的狀態(tài)。只要等待隊列中有一個網(wǎng)頁或 Spider程序正在處理一個網(wǎng)頁,程序就會繼續(xù)他的工作。 如何構(gòu)造 Spider 程序在構(gòu)造 Spider 程序之前我們先了解下程序的各個部分是如何共同工作的。IspiderReportable 接口:這是一個必須實現(xiàn)的接口,可以通過回調(diào)函數(shù)接受 Spider 所遇到的頁面。通過提供對每個事件的處理程序,可以創(chuàng)建各種 Spider 程序。public boolean foundExternalLink(String url)。public void processPage(HTTP page)。public boolean getRemoveQuery()。}程序擴展流程圖如下所示:把 URL 加入等待隊列Spider 程序工作完成等待隊列中是否有 URL?否下載從等待隊列中得到的網(wǎng)頁,并將他送入運行隊列中。下面就來介紹下幾種提高性能的技術(shù):(1)Java 的多線程技術(shù)線程是通過程序的一條執(zhí)行路線。它是在一個程序的內(nèi)部進行分工合作。瓶頸是一個程序中最慢的部分,他限制了其他任務(wù)的運行。當(dāng)程序等待響應(yīng)的時候其他任務(wù)不能執(zhí)行,這就影響了程序的效率。(2)數(shù)據(jù)庫技術(shù)當(dāng) Spider 程序訪問一個大型 Web 站點時,必須使用一種有效的方法來存儲站點隊列。如果把他們放在內(nèi)存中將會是性能下降,所以我們可以把他們放在數(shù)據(jù)庫中減少系統(tǒng)資源的消耗。import 。import 。import 。/** * 構(gòu)造一個 Bot 程序 */public class Searcher implements ISpiderReportable { public static void main(String[] args) throws Exception { IWorkloadStorable wl = new SpiderInternalWorkload()。 Spider _spider = new Spider(_searcher, new HTTPSocket(), 100, wl)。 ()。 public boolean foundInternalLink(String url) { return false。 public boolean foundExternalLink(String url) { return false。其他連接指的是非 HTML 網(wǎng)頁,可能是 Email 或者FTP public boolean foundOtherLink(String url) { return false。 public void processPage(HTTP ) { (掃描網(wǎng)頁: + ())。 }// 用來請求一個被處理的網(wǎng)頁。如果隊列中的字符串應(yīng)當(dāng)刪除,方法返回真。 }// 當(dāng) Spider 程序沒有剩余的工作時調(diào)用這個方法。它是一個用 Java 寫的全文索引引擎工具包,可以方便的嵌入到各種應(yīng)用中實現(xiàn)針對應(yīng)用的全文索引/檢索功能。我在設(shè)計的時候也充分考慮了實用性和簡潔性??傮w上看:可以先把 Lucene 當(dāng)成一個支持全文索引的數(shù)據(jù)庫系統(tǒng)。而數(shù)據(jù)庫索引能夠大大提高查詢的速度原理
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1