直播中
互聯(lián)網(wǎng)是一個(gè)寶庫(kù),搜索引擎是打開(kāi)寶庫(kù)的一把鑰匙。然而,絕大多數(shù)網(wǎng)民在搜索引擎的相關(guān)知識(shí)及使用技巧上能力不足。國(guó)外的一次調(diào)查結(jié)果顯示,約有71%的人對(duì)搜索的結(jié)果感到不同程度的失望。作為互聯(lián)網(wǎng)的第二大服務(wù),這種狀況應(yīng)該改變。 互聯(lián)網(wǎng)的迅速發(fā)展,導(dǎo)致了網(wǎng)上信息的爆炸性增長(zhǎng)。全球目前的網(wǎng)頁(yè)超過(guò)20億,每天新增加730萬(wàn)網(wǎng)頁(yè)。要在如此浩瀚的信息海洋里尋找信息,就像“大海撈針”一樣困難。搜索引擎正是為了解決這個(gè)“迷航”問(wèn)題而出現(xiàn)的技術(shù)。
搜索引擎的工作包括如下三個(gè)過(guò)程:
1.在互聯(lián)中發(fā)現(xiàn)、搜集網(wǎng)頁(yè)信息;
2.對(duì)信息進(jìn)行提取和組織建立索引庫(kù);
3.再由檢索器根據(jù)用戶輸入的查詢關(guān)字,在索引庫(kù)中快速檢出文檔,進(jìn)行文檔與查詢的相關(guān)度評(píng)價(jià),對(duì)將要輸出的結(jié)果進(jìn)行排序,并將查詢結(jié)果返回給用戶。
發(fā)現(xiàn)、搜集網(wǎng)頁(yè)信息
需要有高性能的“網(wǎng)絡(luò)蜘蛛”程序(spider)去自動(dòng)地在互聯(lián)網(wǎng)中搜索信息。一個(gè)典型的網(wǎng)絡(luò)蜘蛛工作的方式,是查看一個(gè)頁(yè)面,并從中找到相關(guān)信息, 然后它再?gòu)脑擁?yè)面的所有鏈接中出發(fā),繼續(xù)尋找相關(guān)的信息,以此類(lèi)推,直至窮盡。網(wǎng)絡(luò)蜘蛛要求能夠快速、全面。網(wǎng)絡(luò)蜘蛛為實(shí)現(xiàn)其快速地瀏覽整個(gè)互聯(lián)網(wǎng),通常在技術(shù)上采用搶先式多線程技術(shù)實(shí)現(xiàn)在網(wǎng)上聚集信息。通過(guò)搶先式多線程的使用,你能索引一個(gè)基于url鏈接的web頁(yè)面,啟動(dòng)一個(gè)新的線程跟隨每個(gè)新的url鏈接,索引一個(gè)新的url起點(diǎn)。當(dāng)然在服務(wù)器上所開(kāi)的線程也不能無(wú)限膨脹,需要在服務(wù)器的正常運(yùn)轉(zhuǎn)和快速收集網(wǎng)頁(yè)之間找一個(gè)平衡點(diǎn)。在算法上各個(gè)搜索引擎技術(shù)公司可能不盡相同,但目的都是快速瀏覽web頁(yè)和后續(xù)過(guò)程相配合。目前國(guó)內(nèi)的搜索引擎技術(shù)公司中,比如百度公司的網(wǎng)絡(luò)蜘蛛采用了可定制、高擴(kuò)展性的調(diào)度算法使得搜索器能在極短的時(shí)間內(nèi)收集到最大數(shù)量的互聯(lián)網(wǎng)信息,并把所獲得的信息保存下來(lái)以備建立索引庫(kù)和用戶檢索。
索引庫(kù)的建立
關(guān)系到用戶能否最迅速地找到最準(zhǔn)確、最廣泛的信息,同時(shí)索引庫(kù)的建立也必須迅速,對(duì)網(wǎng)絡(luò)蜘蛛抓來(lái)的網(wǎng)頁(yè)信息極快地建立索引,保證信息的及時(shí)性。對(duì)網(wǎng)頁(yè)采用基于網(wǎng)頁(yè)內(nèi)容分析和基于超鏈分析相結(jié)合的方法進(jìn)行相關(guān)度評(píng)價(jià),能夠客觀地對(duì)網(wǎng)頁(yè)進(jìn)行排序,從而極大限度地保證搜索出的結(jié)果與用戶的查詢串相一致。新浪搜索引擎對(duì)網(wǎng)站數(shù)據(jù)建立索引的過(guò)程中采取了按照關(guān)鍵詞在網(wǎng)站標(biāo)題、網(wǎng)站描述、網(wǎng)站url等不同位置的出現(xiàn)或網(wǎng)站的質(zhì)量等級(jí)等建立索引庫(kù),從而保證搜索出的結(jié)果與用戶的查詢串相一致。新浪搜索引擎在索引庫(kù)建立的過(guò)程中,對(duì)所有數(shù)據(jù)采用多進(jìn)程并行的方式,對(duì)新的信息采取增量式的方法建立索引庫(kù),從而保證能夠迅速建立索引,使數(shù)據(jù)能夠得到及時(shí)的更新。新浪搜索引擎在建立索引庫(kù)的過(guò)程中還對(duì)用戶搜索的查詢串進(jìn)行跟蹤,并對(duì)查詢頻率高的查詢串建立cache頁(yè)。
用戶檢索的過(guò)程
這是對(duì)前兩個(gè)過(guò)程的檢驗(yàn),檢驗(yàn)該搜索引擎能否給出最準(zhǔn)確、最廣泛的信息,檢驗(yàn)該搜索引擎能否迅速地給出用戶最想得到的信息。對(duì)于網(wǎng)站數(shù)據(jù)的檢索,新浪搜索引擎采用client/server結(jié)構(gòu)、多進(jìn)程的方式在索引庫(kù)中檢索,大大減少了用戶的等待時(shí)間,并且在用戶查詢高峰時(shí)服務(wù)器的負(fù)擔(dān)不會(huì)過(guò)高(平均的檢索時(shí)間在0.3秒左右)。對(duì)于網(wǎng)頁(yè)信息的檢索,作為國(guó)內(nèi)眾多門(mén)戶網(wǎng)站的網(wǎng)頁(yè)檢索技術(shù)提供商的百度公司其搜索引擎運(yùn)用了先進(jìn)的多線程技術(shù),采用高效的搜索算法和穩(wěn)定的unix平臺(tái),因此可大大縮短對(duì)用戶搜索請(qǐng)求的響應(yīng)時(shí)間。