搜尋引擎基本工作原理

搜尋引擎基本工作原理

搜尋引擎的基本工作原理包括如下三個過程:首先在網際網路中發現、蒐集網頁信息;同時對信息進行提取和組織建立索引庫;再由檢索器根據用戶輸入的查詢關鍵字,在索引庫中快速檢出文檔,進行文檔與查詢的相關度評價,對將要輸出的結果進行排序,並將查詢結果返回給用戶。

基本介紹

  • 中文名:搜尋引擎基本工作原理
  • 外文名:Basic working principle of search engine
  • 首先:網際網路中發現、蒐集網頁信息
  • 第二步:檢索器根據用戶輸入的查詢關鍵字
  • 第三步:將查詢結果返回給用戶
工作原理,搜尋引擎,目錄索引,百度谷歌,最佳化核心,SEO最佳化,網站url,title信息,meta信息,圖片alt,flash信息,frame框架,

工作原理

1、抓取網頁。每個獨立的搜尋引擎都有自己的網頁抓取程式爬蟲(spider)。爬蟲Spider順著網頁中的超連結,從這個網站爬到另一個網站,通過超連結分析連續訪問抓取更多網頁。被抓取的網頁被稱之為網頁快照。由於網際網路中超連結的套用很普遍,理論上,從一定範圍的網頁出發,就能蒐集到絕大多數的網頁。
2、處理網頁。搜尋引擎抓到網頁後,還要做大量的預處理工作,才能提供檢索服務。其中,最重要的就是提取關鍵字,建立索引庫和索引。其他還包括去除重複網頁、分詞(中文)、判斷網頁類型、分析超連結、計算網頁的重要度/豐富度等。
3、提供檢索服務。用戶輸入關鍵字進行檢索,搜尋引擎從索引資料庫中找到匹配該關鍵字的網頁;為了用戶便於判斷,除了網頁標題和URL外,還會提供一段來自網頁的摘要以及其他信息。
搜尋引擎基本工作原理搜尋引擎基本工作原理

搜尋引擎

在搜尋引擎分類部分我們提到過全文搜尋引擎從網站提取信息建立網頁資料庫的概念。搜尋引擎的自動信息蒐集功能分兩種。一種是定期搜尋,即每隔一段時間(比如Google一般是28天),搜尋引擎主動派出“蜘蛛”程式,對一定IP位址範圍內的網際網路站進行檢索,一旦發現新的網站,它會自動提取網站的信息和網址加入自己的資料庫。
另一種是提交網站搜尋,即網站擁有者主動向搜尋引擎提交網址,它在一定時間內(2天到數月不等)定向向你的網站派出“蜘蛛”程式,掃描你的網站並將有關信息存入資料庫,以備用戶查詢。由於搜尋引擎索引規則發生了很大變化,主動提交網址並不保證你的網站能進入搜尋引擎資料庫,因此目前最好的辦法是多獲得一些外部連結,讓搜尋引擎有更多機會找到你並自動將你的網站收錄。
當用戶以關鍵字查找信息時,搜尋引擎會在資料庫中進行搜尋,如果找到與用戶要求內容相符的網站,便採用特殊的算法——通常根據網頁中關鍵字的匹配程度,出現的位置、頻次,連結質量等——計算出各網頁的相關度及排名等級,然後根據關聯度高低,按順序將這些網頁連結返回給用戶。

目錄索引

全文搜尋引擎相比,目錄索引有許多不同之處。
首先,搜尋引擎屬於自動網站檢索,而目錄索引則完全依賴手工操作。用戶提交網站後,目錄編輯人員會親自瀏覽你的網站,然後根據一套自定的評判標準甚至編輯人員的主觀印象,決定是否接納你的網站。
其次,搜尋引擎收錄網站時,只要網站本身沒有違反有關的規則,一般都能登錄成功。而目錄索引對網站的要求則高得多,有時即使登錄多次也不一定成功。尤其象Yahoo!這樣的超級索引,登錄更是困難。
此外,在登錄搜尋引擎時,我們一般不用考慮網站的分類問題,而登錄目錄索引時則必須將網站放在一個最合適的目錄(Directory)。
最後,搜尋引擎中各網站的有關信息都是從用戶網頁中自動提取的,所以用戶的角度看,我們擁有更多的自主權;而目錄索引則要求必須手工另外填寫網站信息,而且還有各種各樣的限制。更有甚者,如果工作人員認為你提交網站的目錄、網站信息不合適,他可以隨時對其進行調整,當然事先是不會和你商量的。
目錄索引,顧名思義就是將網站分門別類地存放在相應的目錄中,因此用戶在查詢信息時,可選擇關鍵字搜尋,也可按分類目錄逐層查找。如以關鍵字搜尋,返回的結果跟搜尋引擎一樣,也是根據信息關聯程度排列網站,只不過其中人為因素要多一些。如果按分層目錄查找,某一目錄中網站的排名則是由標題字母的先後順序決定(也有例外)。
目前,搜尋引擎與目錄索引有相互融合滲透的趨勢。原來一些純粹的全文搜尋引擎現在也提供目錄搜尋,如Google就借用Open Directory目錄提供分類查詢。而象 Yahoo! 這些老牌目錄索引則通過與Google等搜尋引擎合作擴大搜尋範圍(注),在默認搜尋模式下,一些目錄類搜尋引擎首先返回的是自己目錄中匹配的網站,如國內搜狐、新浪、網易等;而另外一些則默認的是網頁搜尋,如Yahoo。
新競爭力通過對搜尋引擎行銷的規律深入研究認為:搜尋引擎推廣是基於網站內容的推廣——這就是搜尋引擎行銷的核心思想。這句話說起來很簡單,如果仔細分析會發現,這句話的確包含了搜尋引擎推廣的一般規律。本文作者在“網站推廣策略之內容推廣思想漫談”一文中提出一個觀點:“網站內容不僅是大型ICP網站的生命源泉,對於企業網站網路行銷的效果同樣是至關重要的”。因為網站內容本身也是一種有效的網站推廣手段,只是這種推廣需要藉助於搜尋引擎這個信息檢索工具,因此網站內容推廣策略實際上也就是搜尋引擎推廣策略的具體套用。

百度谷歌

查詢處理以及分詞技術
隨著搜尋經濟的崛起,人們開始越加關注全球各大搜尋引擎的性能、技術和日流量。作為企業,會根據搜尋引擎的知名度以及日流量來選擇是否要投放廣告等;作為普通網民,會根據搜尋引擎的性能和技術來選擇自己喜歡的引擎查找資料;作為技術人員,會把有代表性的搜尋引擎作為研究對象。搜尋引擎經濟的崛起,又一次向人們證明了網路所蘊藏的巨大商機。網路離開了搜尋將只剩下空洞雜亂的數據,以及大量等待去費力挖掘的金礦。
但是,如何設計一個高效的搜尋引擎?我們可以以百度所採取的技術手段來探討如何設計一個實用的搜尋引擎。搜尋引擎涉及到許多技術點,比如查詢處理,排序算法,頁面抓取算法,CACHE機制,ANTI-SPAM等等。這些技術細節,作為商業公司的搜尋引擎服務提供商比如百度,GOOGLE等是不會公之於眾的。我們可以將現有的搜尋引擎看作一個黑盒,通過向黑盒提交輸入,並根據黑盒返回的輸出大致判斷黑盒裡面不為人知的技術細節。
查詢處理與分詞是一個中文搜尋引擎必不可少的工作,而百度作為一個典型的中文搜尋引擎一直強調其“中文處理”方面具有其它搜尋引擎所不具有的關鍵技術和優勢。那么我們就來看看百度到底採用了哪些所謂的核心技術。
我們分兩個部分來講述:查詢處理/中文分詞
一、查詢處理
用戶向搜尋引擎提交查詢,搜尋引擎一般在接受到用戶查詢後要做一些處理,然後在索引資料庫裡面提取相關的信息。那么百度在接受到用戶查詢後做了些什麼工作呢?
1、假設用戶提交了不止一個查詢串,比如“信息檢索 理論 工具”。那么搜尋引擎首先做的是根據分隔設定比如空格,標點符號,將查詢串分割成若干子查詢串,比如上面的查詢就會被解析為:三個子字元串;這個道理簡單,我們接著往下看。
2、假設提交的查詢有重複的內容,搜尋引擎怎么處理呢?比如查詢“理論工具理論”,百度是將重複的字元串當作只出現過一次,也就是處理成等價的“理論工具”,而GOOGLE顯然是沒有進行歸併,而是將重複查詢子串的權重增大進行處理。那么是如何得出這個結論的呢?我們可以將“理論工具”提交給百度,返回341,000篇文檔,大致看看第一頁的返回內容。
OK。繼續,我們提交給GOOGLE查詢“理論工具理論”,在看看返回結果,仍然是那么多返回文檔,當然這個不能說明太多問題,那看看第一頁返回結果的排序,看出來了嗎?順序完全沒有變化,而 GOOGLE 則排序有些變動,這說明百度是將重複的查詢歸併成一個處理的,而且字元串之間的先後出現順序基本不予考慮(GOOGLE是考慮了這個順序關係的)。
3、假設提交的中文查詢包含英文單詞,搜尋引擎是怎么處理的?比如查詢”電影BT下載”,百度的方法是將中文字元串中的英文當作一個整體保留,並以此為斷點將中文切分開,這樣上述的查詢就切為,不論中間的英文是否一個字典里能查到的單詞也好,還是隨機的字元也好,都會當作一個整體來對待。至於為什麼,你用查詢 “電影dfdfdf下載”看看結果就知道了。當然如果查詢中包含數字,也是如此辦理。

最佳化核心

1、網站的程式架構要儘量保持簡潔,去除花俏的代碼,你可以嘗試用JS調用。此點甚為重要,搜尋引擎最佳化本身就與用戶體驗互通互倚,相互結合,況且繁瑣的代碼不但會影響網站頁面的載入速度,還會讓用戶感覺到壓力山大,因此絕不是明智之舉。
2、做足站內SEO的細節功夫。從大範圍上講,是要對程式結構進行趨簡潔化的修正,而細節來說,就是在URL靜態化,title、keyword、description的寫法,當然,keyword已經不被搜尋引擎投以任何的重視。
3、做足站外SEO的方方面面。包括交換友情連結的注意和做普通外鏈時候應該如何操作、控制等。切勿想著走捷徑,想著群發外鏈或者一次性購買大量高權重外鏈等,這些是SEO的錯誤思維和策略。我們一般推薦大家做一般性傳統SEO。
4、每一個SEOer都應該認清楚搜尋引擎最佳化的最根本目的就是為了獲得用戶,因此用戶體驗不能夠忽視。我們在搜尋引擎上獲得排名的原因也是因為我們為用戶提供了有價值的內容。因此,在發展方向上,無論你是站長還是專業的SEOer,都應該朝著做用戶、做產品、做服務的方面去發展,而不應該局限於SEO,此點甚為重要。

SEO最佳化

網站url

網站創建具有良好描述性、規範、簡單的url,有利於用戶更方便的記憶和判斷網頁的內容,也有利於搜尋引擎更有效的抓取您的網站。網站設計之初,就應該有合理的url規劃。
處理方式:
1.在系統中只使用正常形式url,不讓用戶接觸到非正常形式的url
2.不把session id、統計代碼等不必要的內容放在url中。
3.不同形式的url,301永久跳轉到正常形式。
4.防止用戶輸錯而啟用的備用域名,301永久跳轉到主域名。
5.使用robots.txt禁止Baiduspider抓取您不想向用戶展現的形式。

title信息

網頁的title用於告訴用戶和搜尋引擎這個網頁的主要內容是什麼,而且當用戶在百度網頁搜尋中搜尋到你的網頁時,title會作為最重要的內容顯示在摘要中。
搜尋引擎在判斷一個網頁內容權重時,title是主要參考信息之一。
描述建議:
1.首頁:網站名稱 或者 網站名稱_提供服務介紹or產品介紹 。
2.頻道頁:頻道名稱_網站名稱。
3.文章頁:文章title_頻道名稱_網站名稱。
需要注意:
1.標題要主題明確,包含這個網頁中最重要的內容。
2.簡明精練,不羅列與網頁內容不相關的信息。
3.用戶瀏覽通常是從左到右的,重要的內容應該放到title的靠前的位置。
4.使用用戶所熟知的語言描述。如果你有中、英文兩種網站名稱,儘量使用用戶熟知的那一種做為標題描述。

meta信息

meta description是meta標籤的一部分,位於html代碼的<head>區。
meta description是對網頁內容的精練概括。如果description描述與網頁內容相符,百度會把description當做摘要的選擇目標之 一,一個好的description會幫助用戶更方便的從搜尋結果中判斷你的網頁內容是否和需求相符。
meta description不是權值計算的參考因素,這個標籤存在與否不影響網頁權值,只會用做搜尋結果摘要的一個選擇目標。
推薦做法:
1.網站首頁、頻道頁、產品參數頁等沒有大段文字可以用做摘要的網頁最適合使用description。
2.為每個網頁創建不同的description,避免所有網頁都使用同樣的描述。
3.長度合理,不過長不過短。

圖片alt

建議為圖片加alt說明。
因為這樣做可以在網速較慢圖片不能顯示時讓用戶明白圖片要傳達的信息,也能讓搜尋引擎了解圖片的內容。
同理,使用圖片做導航時,也可以使用alt注釋,用alt告訴搜尋引擎所指向的網頁內容是什麼。

flash信息

Baiduspider只能讀懂文本內容,flash、圖片等非文本內容暫時不能處理,放置在flash、圖片中的文字,百度無法識別。
所以如果一定要使用flash,建議給object標籤添加注釋信息。
這些信息會被看作是對Flash的描述信息。讓搜尋引擎更好的了解您flash的內容。

frame框架

不建議使用frameiframe框架結構,通過iframe顯示的內容可能會被百度丟棄。

相關詞條

熱門詞條

聯絡我們