搜索引擎并不是真正的搜索整個(gè)互聯(lián)網(wǎng),它搜索的其實(shí)是已經(jīng)預(yù)先整理好的網(wǎng)頁(yè)索引數(shù)據(jù)庫(kù)。也就是說,真正意義上的搜索引擎的實(shí)際上是,搜集了互聯(lián)網(wǎng)幾千萬至幾十億的網(wǎng)頁(yè)并對(duì)網(wǎng)頁(yè)中的關(guān)鍵詞進(jìn)行索引,建立索引數(shù)據(jù)庫(kù)的全文搜索引擎。當(dāng)我們要查詢某個(gè)關(guān)鍵字的時(shí)候,所有頁(yè)面包含該關(guān)鍵字網(wǎng)頁(yè)都會(huì)搜索出來,然后經(jīng)過一定的算法進(jìn)行排序,這些結(jié)果將按照與搜索關(guān)鍵詞的相關(guān)度高低,依次排序,然后返回給用戶 。
一、搜索引擎技術(shù)能解決的問題 1、搜索引擎的主要功能及工作機(jī)制 搜索引擎是 In ternet 上的一個(gè)網(wǎng)站, 它的主要任務(wù)是在Internet 上主動(dòng)搜索 Web 服務(wù)器信息并將其自動(dòng)索引, 其索引內(nèi)容存儲(chǔ)于可供查詢的大型數(shù)據(jù)庫(kù)中。當(dāng)用戶輸入關(guān)鍵字 (Keyword )查詢時(shí), 該網(wǎng)站會(huì)告訴用戶包含該關(guān)鍵字信息的所有網(wǎng)址, 并提供通向該網(wǎng)站的鏈接。對(duì)于各種搜索引擎, 它們的工作過程基本一樣, 包括以下三個(gè)方面:
(1) 派出 “網(wǎng)頁(yè)搜索程序”在網(wǎng)上搜尋所有信息, 并將它們帶回搜索引擎; (2) 將信息進(jìn)行分類整理, 建立搜索引擎數(shù)據(jù)庫(kù); (3) 通過Web 服務(wù)器端軟件, 為用戶提供瀏覽 器界面下的信息查詢。
網(wǎng)絡(luò)中的資源非常豐富,但是如何有效的搜索信息卻是一件困難的事情。建立搜索引擎就是解決這個(gè)問題的最好方法。本文首先詳細(xì)介紹了基于英特網(wǎng)的搜索引擎的系統(tǒng)結(jié)構(gòu),然后從網(wǎng)絡(luò)機(jī)器人、搜索引擎、Web服務(wù)器三個(gè)方面進(jìn)行詳細(xì)的說明。
為了更加深刻的理解這種技術(shù),我還親自實(shí)現(xiàn)了一個(gè)自己的搜索引擎——數(shù)碼產(chǎn)品搜索引擎。它是從指定的Web頁(yè)面中按照超連接進(jìn)行解析、搜索,并把搜索到的每條手機(jī)信息進(jìn)行索引后加入數(shù)據(jù)庫(kù)。然后通過Web服務(wù)器接受客戶端請(qǐng)求后從索引數(shù)據(jù)庫(kù)中搜索出所匹配的產(chǎn)品。在介紹搜索引擎的章節(jié)中除了詳細(xì)的闡述技術(shù)核心外還結(jié)合了數(shù)碼產(chǎn)品搜索引擎的實(shí)現(xiàn)代碼來說明,圖文并茂、易于理解。
二、搜索引擎技術(shù)的發(fā)展歷史 面對(duì)浩瀚的網(wǎng)絡(luò)資源,搜索引擎為所有網(wǎng)上沖浪的用戶提供了一個(gè)入口,毫不夸張的說,所有的用戶都可以從搜索出發(fā)到達(dá)自己想去的網(wǎng)上任何一個(gè)地方。因此它也成為除了電子郵件以外最多人使用的網(wǎng)上服務(wù)。 搜索引擎技術(shù)伴隨著WWW的發(fā)展是引人注目的。搜索引擎大約經(jīng)歷了三代的更新發(fā)展:第一代搜索引擎出現(xiàn)于1994年。這類搜索引擎一般都索引少于1,000,000個(gè)網(wǎng)頁(yè),極少重新搜集網(wǎng)頁(yè)并去刷新索引。而且其檢索速度非常慢,一般都要等待10秒甚至更長(zhǎng)的時(shí)間。在實(shí)現(xiàn)技術(shù)上也基本沿用較為成熟的IR(Information Retrieval)、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)等技術(shù),相當(dāng)于利用一些已有技術(shù)實(shí)現(xiàn)的一個(gè)WWW上的應(yīng)用。在1994年3月到4月,網(wǎng)絡(luò)爬蟲World Web Worm (WWW)平均每天承受大約1500次查詢。
大約在1996年出現(xiàn)的第二代搜索引擎系統(tǒng)大多采用分布式方案(多個(gè)微型計(jì)算機(jī)協(xié)同工作)來提高數(shù)據(jù)規(guī)模、響應(yīng)速度和用戶數(shù)量,它們一般都保持一個(gè)大約50,000,000網(wǎng)頁(yè)的索引數(shù)據(jù)庫(kù),每天能夠響應(yīng)10,000,000次用戶檢索請(qǐng)求。1997年11月,當(dāng)時(shí)最先進(jìn)的幾個(gè)搜索引擎號(hào)稱能建立從2,000,000到100,000,000的網(wǎng)頁(yè)索引。Altavista搜索引擎聲稱他們每天大概要承受20,000,000次查詢。 2000年搜索引擎2000年大會(huì)上,按照Google公司總裁Larry Page的演講,Google正在用3,000臺(tái)運(yùn)行Linux系統(tǒng)的個(gè)人電腦在搜集Web上的網(wǎng)頁(yè),而且以每天30臺(tái)的速度向這個(gè)微機(jī)集群里添加電腦,以保持與網(wǎng)絡(luò)的發(fā)展相同步。每臺(tái)微機(jī)運(yùn)行多個(gè)爬蟲程序搜集網(wǎng)頁(yè)的峰值速度是每秒100個(gè)網(wǎng)頁(yè),平均速度是每秒48.5個(gè)網(wǎng)頁(yè),一天可以搜集超過4,000,000網(wǎng)頁(yè)搜索引擎一詞在國(guó)內(nèi)外因特網(wǎng)領(lǐng)域被廣泛使用,然而他的含義卻不盡相同。在美國(guó)搜索引擎通常指的是基于因特網(wǎng)的搜索引擎,他們通過網(wǎng)絡(luò)機(jī)器人程序收集上千萬到幾億個(gè)網(wǎng)頁(yè),并且每一個(gè)詞都被搜索引擎索引,也就是我們說的全文檢索。著名的因特網(wǎng)搜索引擎包括First Search、Google、HotBot等。在中國(guó),搜索引擎通常指基于網(wǎng)站目錄的搜索服務(wù)或是特定網(wǎng)站的搜索服務(wù),本人這里研究的是基于因特網(wǎng)的搜索技術(shù)。
三、搜索引擎的功能 1、采集信息功能 搜索引擎的爬蟲程序具有廣泛收集因特網(wǎng)上的頁(yè)面并 通過遍歷頁(yè)面中的超鏈接來構(gòu)建一個(gè)巨大的信息空間的作用。 2、信息組織和標(biāo)引功能 通過某種算法來組織、標(biāo)引所抓取的網(wǎng)絡(luò)頁(yè)面并以此作為 信息組織、存儲(chǔ)和檢索依據(jù)。通過標(biāo)引人員把網(wǎng)頁(yè)信息與用戶聯(lián)系起來使用戶能夠在大量的信息中查到所需的信息。 3、信息檢索瀏覽功能 通過建立索引數(shù)據(jù)庫(kù)接受用戶的查詢,利用信息檢索算法 盡可能將最相關(guān)最匹配的頁(yè)面返還給用戶達(dá)到有效檢索的目的。隨著搜索引擎的發(fā)展和成熟以及用戶個(gè)性化需求的不斷改變,各大搜索引擎網(wǎng)站都陸續(xù)推出了新的功能。
..
|