一淘網的系統架構
一淘網是淘寶推出的一款購物搜索引擎,目前主要是由四部分組成:購物相關資訊的文本搜索-導購、基于opensearch的全網商品搜索-商品、購物社區-淘吧、問答搜索、全網搜索(目前使用的是其他搜索引擎公司的系統、自己公司的也有,但不是默認項)。
導購搜索的目的是要將購前分流至各大垂直網站查找資訊的流量聚合,并且從百度和Google手中把搜索購物資訊的流量搶過來。但局限是內容可讀性不如垂直網站,覆蓋率不如全網搜索引擎。即使這兩樣逐漸追趕上改變用戶習慣也是一條很漫長的路。
商品搜索是一淘網最核心的部分,當垂直類B2C逐漸強大,一淘網要做的是打造一個購物入口。這次淘寶、一淘、淘寶商城的分拆,也是為了給一淘網一個全新的定位。商品搜索主要是數據源的問題,如果淘寶又有購物平臺、又想購物入口相信很難得到B2C網站的信任。
淘吧是整個購物環節的最后一步,購物后的交流分享社區。目前不是非常的好,主要是里面不可避免的含有大量的廣告。
一淘的系統架構如上圖所示。可以看到,一淘有三個數據來源:互聯網、外部合作方和淘寶主站。其中,互聯網數據通過crawl的方式獲得,而后兩者則通過feed的方式提供。
抓取系統的功能包括:網頁抓取、抓取調度、域名解析、死鏈檢測、JavaScript執行等。目前,一淘的資訊、話題、問答combo中的大部分數據都是通過抓取系統從互聯網獲得的。它是一淘一個重要的“原料廠”。
離線處理系統是一個功能眾多、可靈活定制的Pipeline,其主要功能有:網頁編碼識別與轉換、網頁解析與內容抽取、購物相關站點發現、列表頁識別、網頁分類與消重、鏈接提取與合并、關鍵詞提取、眾多網頁靜態feature的提取。它是一淘的“加工廠”。
存儲系統負責存儲抓取系統和離線處理系統的產出,同時向這兩個“廠”提供高性能、大容量的存取服務。目前我們采用的是Hadoop+HBase的體系結構,將網頁、鏈接、圖片進行了分類存放。存儲系統是一淘存放原料、半成品的“核心倉庫”。
在線引擎負責對一淘前端搜索請求返回查詢結果,它生成索引的數據來自存儲系統。在線引擎是一淘面向用戶的“成品生產車間”。值得一提的是,一淘采用了阿里集團新一代的HA2引擎技術,HA2結合了開源引擎和阿里上一代引擎技術的設計優點,在支持全文檢索的同時,兼備了商品搜索的各種功能。它目前提供的主要特性有:
一淘前端負責向終端用戶展現搜索結果頁,它是一淘的“門店”,設有各式各樣櫥窗:商品、淘吧、資訊、論壇、問答、圖片、網頁等。保證這個門店正常運轉的機制包括:
此外,為了一淘團隊的運營效率,我們還在構建一套“從收集Query和Click日志開始,進行數據統計、關聯分析、異常報警和人工調整等相關流程”的以Query為中心的運營工具。
一淘的小二們深知:如何使我們打造的這些櫥窗所展現的內容具有越來越精準的 “導購相關性”,是一淘面向用戶的核心價值。如何進入朝這個方向持續發展的正循環呢?我們目前的思路是:構建一套結合“Query分析”和“網頁分析”的多層次排序模型,在保證相關性的前提下,靈活快速地調整模型結構以適應變化的業務需求。
Query分析的目的是理解用戶的查詢意圖,并將此意圖轉化成排序時可用的信息影響最終排序結果,如:
隨著一淘用戶越來越多,我們也會進一步挖掘用戶查詢需求,拓展意圖分析種類。
網頁分析期望得到:網頁質量、所在站點的權威度、內容的主題詞、是否為購物類文章等。這些信息將和Query分析的產出合并,一起在不同層次參與搜索結果相關性的排序過程。
一淘正在建立一套“用戶行為/模型提升”的自循環體系,這其中以用戶行為為主、輔以完善模型改進流程和豐富相關平臺工具,期望這樣可以越來越自動化地、持續地提升相關性效果,更加智能地滿足用戶的搜索意圖。
從系統架構上講,一淘有很多大數據量的離線計算任務是在淘寶上千臺基于Hadoop的分布式計算平臺上 完成的,在其上獲取淘寶的商品、交易和用戶數據是一件非常便捷的事情,平臺強大的計算和存儲能力也進一步激發了一淘工程師們的想象力和創造力。比如:一淘 首次將淘寶用戶的搜索查詢詞和直接購買的寶貝相關聯,并實現了分鐘級別的引擎更新,這為用戶們提供了最及時導購風向標。此外,一淘還直接調用了很多線上服 務的接口,例如:寶貝搜索、產品搜索、合并同款等。
從產品服務上講,一淘是淘寶主站與全網電子商務網站聯系的重要紐帶。簡單地講,淘寶站內數據(如:產品 庫、類目體系)可以保障一淘的導購搜索相關性有非常正向的促進作用;一淘通過Open Search和外網商品信息抓取,也可以為其他電子商務網站帶去更多高質量的商業流量;而互聯網的商品、資訊、論壇等信息又有助于一淘的搜索結果更全面、 信息更權威;一淘搜索質量的提高反過來可以幫助改善淘寶的用戶體驗(如:無結果頁、購前調研),一淘的用戶行為分析和趨勢預測也可以作為淘寶運營收集反饋 信息的重要通道。
通過上面的介紹,我們不難理解一淘對于所采用技術的實用性、高效性和擴展性方面都會有業界領先的要求。這其中主要涉及的領域包括:
這些技術方向,我們會在今后的Blog中進行進一步的展開、更深入的闡述。
原文地址:http://www.searchtb.com/2010/11/etao-tech-overview.html