搜索引擎面對的挑戰(zhàn)
搜索引擎系統(tǒng)是復(fù)雜的計(jì)算系統(tǒng)之一,當(dāng)今主流搜索引擎服務(wù)商都是財(cái)力,人力,技術(shù)雄厚的大公司。即使是實(shí)力雄厚的大公司,也還是要面臨很多技術(shù)挑戰(zhàn)。
總的來說,搜索引擎主要面臨以下幾方面的挑戰(zhàn)。
1、頁面抓取需要快而全面
互聯(lián)網(wǎng)是一個(gè)動(dòng)態(tài)的內(nèi)容網(wǎng)絡(luò),每天有無數(shù)頁面被更新、創(chuàng)建、無數(shù)用戶在網(wǎng)站上發(fā)布內(nèi)容、溝通聯(lián)系。想要返回最有用的內(nèi)容,搜索引擎就要抓取最新的頁面。但由于頁面數(shù)量巨大,搜索引擎蜘蛛每更新一次數(shù)據(jù)庫中地頁面都要花很長時(shí)間。
主流的搜索引擎能在幾天之內(nèi)更新重要頁面了,高權(quán)重網(wǎng)站上的新文件在幾小時(shí)甚至幾分鐘之內(nèi)就會被收錄。不過,這種快速被收錄和更新的情況也只局限于高權(quán)重網(wǎng)站,很多頁面幾個(gè)月不被重新抓取和更新也是常見的。
2、海量數(shù)據(jù)存儲
搜索引擎蜘蛛抓取頁面后,還必須有效的存儲這些數(shù)據(jù)。
除了頁面數(shù)據(jù),搜索引擎還需要存儲頁面之間的鏈接關(guān)系和大量歷史數(shù)據(jù),這樣的數(shù)據(jù)量是用戶無法想象的。據(jù)估測,百度有三四十萬臺服務(wù)器,Google有幾十個(gè)數(shù)據(jù)中心,上百萬臺服務(wù)器。這樣大規(guī)模的數(shù)據(jù)存儲和訪問必然存在很多技術(shù)挑戰(zhàn)。
我們經(jīng)常在搜索結(jié)果中看到,排名會沒有明顯原因地上下波動(dòng),甚至可能刷新一下頁面,就會看到不同的排名,有的時(shí)候網(wǎng)站數(shù)據(jù)也可能丟失。這些情況有時(shí)候與大規(guī)模數(shù)據(jù)存儲、同步的技術(shù)難題有關(guān)。
3、索引處理快速有效,具有可擴(kuò)展性
搜索引擎將頁面數(shù)據(jù)抓取和存儲后,還要進(jìn)行索引處理,包括鏈接關(guān)系的計(jì)算、正向索引、倒排索引等。由于數(shù)據(jù)庫中頁面數(shù)量大,進(jìn)行PR值之類的迭代計(jì)算也是耗時(shí)費(fèi)力的。要想提供相關(guān)又及時(shí)的搜索結(jié)果,僅靠抓取是沒有用的,還必須進(jìn)行大量的索引計(jì)算。由于隨時(shí)有新數(shù)據(jù),新頁面加入,索引處理也要具備很好的擴(kuò)展性。
4、查詢處理快速準(zhǔn)確
查詢是普通用戶唯一能看到的搜索引擎工作步驟。用戶在搜索框輸入查詢詞,點(diǎn)擊搜索按鈕后,通常不到一秒,搜索結(jié)果頁面就會顯示相關(guān)、質(zhì)量高、有用的信息,并按照相關(guān)性、權(quán)威性排列。
這考驗(yàn)了搜索引擎怎樣在不到一秒的時(shí)間內(nèi),從可能多達(dá)上億個(gè)包含查詢詞的頁面中,快速找到最合適的頁面并計(jì)算排名。
5、準(zhǔn)確判斷用戶的搜索意圖
搜索引擎目前下在致力于基于對用戶搜索習(xí)慣的了解、歷史數(shù)據(jù)的積累,在語義搜索技術(shù)的基礎(chǔ)上,判斷搜索意圖,返回更相關(guān)的結(jié)果。