垂直搜尋引擎的關鍵技術

2021-05-21 22:19:03 字數 892 閱讀 5036

對於搜尋引擎有幾個關鍵的技術詞語,如:網頁抓取,網頁解析,索引儲存,查詢介面,結果排序等等。但是對垂直搜尋來說,又有些不同,何為垂直搜尋,我的理解是只需要針對某個領域內的幾個特定的**,進行資訊抓取。這樣一來減少了很多任務作。

舉個例子,我需要做乙個提供工作資訊的**,而這個**是整合了好幾個**的資料的,比如

51job,

智聯招聘等。那麼對於網頁抓取的話,我的**資料是固定數目,只需要對這幾個指定的**進行抓取就可以了。闢如每天晚上對這些**進行抓取一次最新時間的招聘資訊。

解析部分嘛,由於在垂直搜尋中,我們需要的資訊是固定的,比如招聘資訊的屬性是固定的,像公司名稱,職位名稱,簡介,職位要求等。這些我們都可以認為是固定的。而我們要做的就是從固定的網頁上解析出這些固定的屬性就可以,這裡可以用利用正規表示式來做,對於不同的網頁,它的網頁結構也是不同的,所以不同的**需要有不同的解析方法。另外當某個**的結構發生變化時,我們的正規表示式解析也需要做相應的改變。這是乙個很麻煩的事情。

另外當抓取和解析的**很多時,往往都是需要分布式的多台計算機來進行處理,這樣就需要對這些任務進行分成多個組,如通過對不同的**放在不同的計算機上,以達到一種平行計算的功能。

解析完後,就是儲存這些資訊,乙個最簡單的方式是把它儲存到集中式資料庫中的固定表結構中,然後再利用

sql語言來完成查詢結果。這是乙個比較簡單的做法。但是如果當資料量比較大時,這時有可能就需要一種分布式檔案系統來儲存索引資訊。像

,就是這樣做。而對於資料量不大的垂直搜尋,可以採用前面的方法。

講了一些基本的過程與原理,但是這裡同樣有難點,就是當**的結構有變化時,我們就需要改變我們的解析程式,這是乙個很頭疼的問題,另外還有一些語義問題,可能同乙個招聘資訊在多個地方出現,如何判斷是同乙個資訊,而不需要重複出現在使用者面前。

垂直搜尋引擎模組設計

3 初次過濾模組 過濾廣告,導航等無用資訊 概覽頁面選定區域內包含鏈結的規則識別 位址過濾和轉換。細覽頁面選定區域內包含資料的精確識別 格式轉換 內碼轉換,位址轉換,時間轉換等等 基於視覺的網頁自動分割槽技術 vips 網頁分割槽後的區域型別和特徵的自動標註。dom樹結構分析 基於分割槽的網頁結構分...

垂直搜尋引擎模組設計

3 初次過濾模組 過濾廣告,導航等無用資訊 概覽頁面選定區域內包含鏈結的規則識別 位址過濾和轉換。細覽頁面選定區域內包含資料的精確識別 格式轉換 內碼轉換,位址轉換,時間轉換等等 基於視覺的網頁自動分割槽技術 vips 網頁分割槽後的區域型別和特徵的自動標註。dom樹結構分析 基於分割槽的網頁結構分...

全面解讀垂直搜尋引擎

1 垂直搜尋引擎不是什麼?垂直搜尋不只是類google的行業通用搜尋。以房產行業為例,假如我們按照google抓取網頁的方法,來建造乙個房產行業google的做法,是行不通的。技巧壁壘不用說明,就算我們借助nutch,lucene等搜尋技巧來做,我們也無法供給差別化的服務,而沒有差別化的產品在網際網...