Changes between Initial Version and Version 1 of WebIndexing


Ignore:
Timestamp:
Jun 19, 2008, 6:06:44 PM (16 years ago)
Author:
sunny
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WebIndexing

    v1 v1  
     1[[PageOutline]]
     2
     3= Web Indexing =
     4
     5== 【簡介】 ==
     6    Web Indexing又稱為Internet Indexing故名思義是一套索引機制,就好像是一本書的索引目錄,可以根據關鍵字來查詢網頁資源,應用領域不限於internet,可延申到Intranet或Desktop Indexing,這樣的技術正是在實作搜尋引擎的索引資料庫,只要把常用的關鍵字搜集整理出來,然後再按照關鍵字去對映網頁地址,以及點閱率排名,再把這些對映結果存放在可以快速搜尋的分散式資料庫中,就可以處理整個全球資訊網的網站索引;關於關鍵字的索引及對映工作,可以使用Map Reduce去做分散式批次處理比對工作,以全球資訊網的資訊量來說都是terabyte的容量起算,所以使用Map Reduce來做定期規律的分散式批次運算較合適,然後再將結果存放到Bigtable/Hypertable/HBase這一類的分散式數據資料庫裡提供查詢程式讀取,這就成了搜尋引擎的索引資料庫。
     7
     8== 【搜尋引擎原理說明】 ==
     9    搜尋引擎的基本原理,是先透過爬網頁程式搜集全球資訊網路上所有的網頁資訊後,將這些網頁全部儲存起來,留待接下來的分析處理之用;搜尋引擎供應商透過一些網頁查詢記錄與Data Mining等技術,把常用的搜尋關鍵字找出來並整理成關鍵字資料庫;有了全球資訊網的網頁內容與搜尋關鍵字之後,再結合Map Reduce技術來把內含關鍵字的網頁過濾出來,並且一邊統計網頁內含的關鍵字出現次數及以及點閱率,再把這份結果整理出來建立搜尋關鍵字與網頁對映查詢的索引表格,然後將這份表格存放到像Bigtable/Hypertable/HBase等分散式數據資料庫,接著使用者只要透過瀏覽器就可以發出關鍵字搜尋指令給伺服器端的查詢程式,這支程式只要到資料庫取出查詢結果回傳給瀏覽器,就大功告成了。[[br]][[br]]
     10    備註:關於伺服器端的查詢程式如何處理網路流量的負載平衡,以及分散式資料庫的負載平衡架構如何處理,留待日後再做分析討論。
     11
     12== 【索引表格實作流程推導說明】 ==
     13    由於每一家搜尋引擎公司所建立的web indexing機制可能不太一樣,我們採用Google公佈的論文資料加上我們自己的推測之後,歸納出以下的可能作法:
     14 a. 原始資料 -> (Map Reduce處理) -> 1個關鍵字詞的索引結果 -> (匯入Hypertable/HBase) -> web indexing table (1keyword)
     15 b. web indexing table (1keyword) -> (Map Reduce處理) -> 2個關鍵字詞的索引結果 -> (匯入Hypertable/HBase) -> web indexing table (2keyword)
     16 c. web indexing table (2keyword) -> (Map Reduce處理) -> 3個關鍵字詞的索引結果 -> (匯入Hypertable/HBase) -> web indexing table (3keyword)
     17 d. 重覆Map Reduce處理,並建立3組以上的關鍵字索引資料表
     18
     19 * Google的查詢上限是32個字詞,不區分大小寫,使用引號括住的字詞會特別依照字詞需要相連在一起來查詢,單一字詞的長度有上限約為128個字母,例如查詢條件"a b",代表2個字詞,它所對映到的網頁內容可能是a b/ab/a-b或是2個大寫相連的字詞,如:Ancienne Belgique
     20 * 以上的字詞庫,例如:關鍵字a b代表2個字詞,它所對映到的網頁內容可能是a b/ab或是以其他字詞隔開的可能內容
     21
     22== 【面臨的問題點】 ==
     23 1. 應該挑選哪些字詞作為關鍵字,以及當關鍵字詞組數目一多起來的時候,Map Reduce程式的複雜度會隨之增加
     24 2. 當應用面鎖定在生物醫學領域的應用時,如何證明其效能優於MySQL的查詢方式,以及大量測試資料如何取得
     25 3. 應該選用哪一套效能測試軟體來評估Hypertable/HBase/Mysql較為公平
     26
     27== 【應用面】 ==
     28 1. 陽明的生物醫學資料庫
     29 2. 其他領域應用