搜尋引擎的定義
搜尋引擎是傳統ir技術在web環境中的應用。一般來說,搜尋引擎是一種用於幫助使用者在internet上查詢資訊的搜尋工具,它以一定的策略在internet中搜尋,發現資訊,對資訊進行理解,提取,組織和處理,並為使用者提供檢索服務,從而起到資訊導航的目的。
搜尋引擎的體系結構
-->searcher
searcher是直接與使用者進行互動的模組,在介面上有多種實現的方式,常見的主要是web方式。
searcher通過某種介面方式,接受使用者查詢,對查詢進行分詞(stemming)處理,獲取查詢關鍵字。通過indexer獲取與查詢關鍵字匹配的網頁資料,經過排序後返回給使用者。
searcher中的問題:
>檢索結果的排序:
對不同的使用者採用不同的排序策略。
>排序結果排重:
排重可以提高結果資料的質量。
>檢索結果的相似性分析:
主要用在類似網頁功能中,需要在索引結構中提供支援。
>檢索的速度:
主要依賴索引結構的設計。同時在體系結構上還有很多技術可以用來提公升速度。如:cache,負載均衡等。
相關核心技術:
分布式技術:
當搜尋引擎處理資料達到一定規模時,為了提高系統的效能,必須採用分布式技術。crawler通過多個伺服器互相合作,提高資料採集的速度。indexer在生成索引資料時通過並行演算法,在不同機器上同時進行。searcher也可以在不同的機器上進行同時查詢,提高速度。
中文分詞:
分詞就是將連續的字序列按照一定的規範重新組合成詞序列的過程。現有分詞演算法可以分為三大類:基於字串比配的的分詞方法,基於理解的分詞方法和基於統計的分詞方法。
網頁排序:
現在搜尋引擎中網頁的 排序主要利用了頁面間的鏈結關係,描述鏈結的文字以及文字自身內容,重要的鏈結分析演算法有hits和pagerank,hilltop等。
海量資料儲存:
搜尋引擎的挑戰之一就是處理資料的巨大,如何儲存如此大的資料,資料的更新,快速的檢索...
壓縮技術:
壓縮技術極大的減少了資料的大小,對於不同型別的資料,需要採用不同的壓縮方法,主要的資料壓縮主要有:網頁資料的壓縮和索引資料的壓縮。選擇壓縮技術主要從開放性,速度與壓縮比等多方面進行綜合考慮。google中選擇了alib(rfc1950)進行壓縮,在壓縮速度上zlib超過bzip,壓縮比上bzip好於zlib。
搜尋引擎技術核心揭密 PHP
搜尋引擎技術核心揭密 php 談到網頁搜尋引擎時,大多數人都會想到雅虎。的確,雅虎開創了乙個網際網路絡的搜尋時代。然而,雅虎目前用於搜尋網頁的技術卻並非該公司原先自己開發的。2000年8月,雅虎採用了google google.這家由史丹福大學學生建立的風險公司的技術。理由非常簡單,google的搜...
搜尋引擎技術核心揭密 PHP
搜尋引擎技術核心揭密 php 談到網頁搜尋引擎時,大多數人都會想到雅虎。的確,雅虎開創了乙個網際網路絡的搜尋時代。然而,雅虎目前用於搜尋網頁的技術卻並非該公司原先自己開發的。2000年8月,雅虎採用了google www.google.com 這家由史丹福大學學生建立的風險公司的技術。理由非常簡單,...
搜尋引擎技術核心揭密 PHP
談到網頁搜尋引擎時,大多數人都會想到雅虎。的確,雅虎開創了乙個網際網路絡的搜尋時代。然而,雅虎目前用於搜尋網頁的技術卻並非該公司原先自己開發的。2000年8月,雅虎採用了google www.google.com 這家由史丹福大學學生建立的風險公司的技術。理由非常簡單,google的搜尋引擎比雅虎先...