元詞把戲
到目前為止,我們一直都在使用極其簡單的網(wǎng)頁示例。然而,絕大多數(shù)網(wǎng)頁擁有眾多結(jié)構(gòu),包括標(biāo)題、標(biāo)頭、鏈接和圖片,可我們還一直認(rèn)為網(wǎng)頁只是普通的詞表。接下來,我們將探索搜索引擎如何處理網(wǎng)頁中的結(jié)構(gòu)。不過,為了盡可能保持簡單,我們只會引入一層結(jié)構(gòu):網(wǎng)頁的頂部會有一個標(biāo)題,之后是頁面的正文。上圖顯示了我們熟悉的三頁示例,并附加了一些標(biāo)題。
實際上,要像搜索引擎一樣分析網(wǎng)頁結(jié)構(gòu),我們需要了解更多編寫網(wǎng)頁的知識。網(wǎng)頁是由一種特殊語言編寫的,以便網(wǎng)絡(luò)瀏覽器能用很好的格式展示它們。(編寫網(wǎng)頁最常用的語言被稱為HTML,不過HTML的細(xì)節(jié)對本次討論不重要。)標(biāo)頭、標(biāo)題、鏈接、圖片等格式化結(jié)構(gòu)是用被稱為元詞的特殊單詞編寫的。比如,網(wǎng)頁標(biāo)題開始使用的元詞也許是<titleStart>,而結(jié)束這個標(biāo)題的元詞可能是<titleEnd>。類似的,網(wǎng)頁正文可能是以<bodyStart>開始,以<bodyEnd>結(jié)束。不要糾結(jié)于“<”、“>”這些符號。它們出現(xiàn)在絕大多數(shù)計算機(jī)鍵盤上,人們通常只知道這些符號的數(shù)學(xué)意義是“大于”和“小于”。不過在這里,這些符號和數(shù)學(xué)沒有任何關(guān)系,只是方便的象征,將這些元詞和網(wǎng)頁中的正常單詞區(qū)分開來。
和上圖一樣的網(wǎng)頁集,但展示的是用元詞編寫的情況,而非在網(wǎng)絡(luò)瀏覽器中顯示的樣子。
看一下上面的圖。這張圖展示的內(nèi)容和前一張圖一樣,但顯示的是實際編寫網(wǎng)頁的樣子,而非在網(wǎng)絡(luò)瀏覽器中顯示的樣子。絕大多數(shù)網(wǎng)絡(luò)瀏覽器都能讓用戶檢驗網(wǎng)頁的原始內(nèi)容,這需要選擇名為“查看網(wǎng)頁源代碼”的菜單選項——我建議你下次有機(jī)會試驗一下。(注意,在這里使用的元詞,如<titleStart>和<titleEnd>是幫助你理解的虛構(gòu)的、易于辨認(rèn)的示例。在真實的HTML中,元詞被稱作標(biāo)簽(tag)。HTML中開啟和結(jié)束標(biāo)題的標(biāo)簽是<title>和</title>——你可以在使用“查看網(wǎng)頁源代碼”的菜單選項后搜索這些標(biāo)簽。)
在創(chuàng)建一份索引時,囊括所有元詞是件很簡單的事。無須新把戲:你只要像存儲正常單詞一樣存儲元詞位置就行。下頁的圖顯示了從帶有元詞的三個網(wǎng)頁中創(chuàng)建的索引。看一下這張圖,確保自己理解了其中所有的奧秘。比如,“mat”的項是1-11、2-11,表示“mat”是第1頁的第11個詞,也是第2頁的第11個詞。元詞位置的解讀也一樣,“<titleEnd>”的項是1-4、2-4和3-4,也就是說“<titleEnd>”是第1頁、第2頁和第3頁的第4個詞。