正文

搜索引擎索引——在世界上最大的草垛中尋針(8)

改變未來的九大算法 作者:(美)約翰·麥考密克


我們稱這種和索引普通單詞一樣索引元詞的簡單把戲?yàn)椤霸~把戲”。這個把戲也許看起來簡單得可笑,但元詞把戲在讓搜索引擎執(zhí)行精確搜索和高質(zhì)量排名上扮演了至關(guān)重要的角色。舉個簡單例子證明。假設(shè)在某個時候,有個搜索引擎支持使用IN關(guān)鍵詞的特殊查詢,因此像boat IN TITLE這樣的查詢只會返回在網(wǎng)頁標(biāo)題中包含了單詞“boat”的網(wǎng)頁,而查詢giraffe IN BODY則會找到在正文中包含“giraffe”(長頸鹿)的網(wǎng)頁。請注意,絕大多數(shù)搜索引擎并不完全按照這種方法提供IN查詢,但一些搜索引擎可以通過讓你點(diǎn)擊“高級搜索”選項(xiàng),詳細(xì)說明查詢詞必須出現(xiàn)在標(biāo)題或一份文件的特定位置來實(shí)現(xiàn)同樣的效果。我們假定IN關(guān)鍵詞存在,以便更容易解釋。事實(shí)上,在寫作本書時,谷歌已經(jīng)可以讓用戶通過使用關(guān)鍵詞intitle進(jìn)行標(biāo)題搜索:因此,在谷歌中查詢intitle:boat,將找到標(biāo)題中帶有“boat”的網(wǎng)頁。自己試試!

讓我們來看看,在上面兩張圖中由三個網(wǎng)頁組成的示例里,搜索引擎如何有效地執(zhí)行查詢dog IN TITLE。首先,搜索引擎提取“dog”的索引項(xiàng),也就是2-3、2-7和3-11。然后(這可能有點(diǎn)出人意料,但請忍耐片刻)搜索引擎會同時提取<titleStart>和<titleEnd>的索引項(xiàng)。

<titleStart>的索引項(xiàng)是1-1、2-1和3-1,<titleEnd>的索引項(xiàng)是1-4、2-4和3-4。這些提取信息全部顯示在上圖中,你可以忽略那些圈和框。

之后,搜索引擎開始掃描“dog”的索引項(xiàng),檢查其命中,看是否有哪個命中發(fā)生在標(biāo)題內(nèi)。“dog”的第一個命中是圈起來的項(xiàng)2-3,代表其是第2頁的第3個詞。通過一并掃描<titleStart>的項(xiàng),搜索引擎就能知道第2頁的標(biāo)題從哪開始——即索引項(xiàng)的第一個數(shù)字要以“2-”開始,也就是被圈的項(xiàng)2-1,即第2頁的標(biāo)題從第1個單詞處開始。同樣的,搜索引擎能知道第2頁的標(biāo)題在哪結(jié)束。搜索引擎只要掃描索引項(xiàng)中的<titleEnd>,尋找以“2-”開始的索引項(xiàng)數(shù)字,在這個例子中就是停止在被圈的項(xiàng)2-4處。因此第2頁的標(biāo)題在第4個詞處結(jié)束。

我們目前已知的所有東西都被圖中圈住的項(xiàng)總結(jié)了。它們告訴我們第2頁的標(biāo)題從第1個詞開始,到第4個詞結(jié)束,而“dog”這個詞是第3個詞。最后一步很簡單:因?yàn)?大于1,小于4,我們肯定“dog”的這次命中確實(shí)出現(xiàn)在一個標(biāo)題中,因此第2頁應(yīng)該是查詢dog IN TITLE的命中。

現(xiàn)在搜索引擎可以轉(zhuǎn)向?qū)ふ摇癲og”的第二個命中,也就是2-7(第2頁的第7個詞),但因?yàn)槲覀円呀?jīng)知道第2頁是命中,因此可以忽略2-7這個項(xiàng),轉(zhuǎn)向下一個命中3-11(由一個框標(biāo)記)。這表示“dog”是第3頁第11個詞。于是我們開始跳過被圈住的<titleStart>和<titleEnd>項(xiàng),尋找以“3-”開始的項(xiàng)。(有一點(diǎn)需要重點(diǎn)注意,我們不必回到每行的開始,而是可以從之前掃描命中的地方重新開始。)在這個簡單例子中,以“3-”開始的項(xiàng)恰好彼此相鄰——<titleStart>是3-1,<titleEnd>是3-4。為便于參考,這兩個數(shù)字都用框圍了起來。接下來,我們又面臨判定“dog”在3-11的命中是否位于標(biāo)題內(nèi)的問題??騼?nèi)信息告訴我們,它們都是在第三頁,“dog”是第11個詞,而標(biāo)題從第1個詞開始,到第4個詞結(jié)束。因?yàn)?1大于4,所以“dog”的這次命中出現(xiàn)在標(biāo)題之后,也就是不在標(biāo)題內(nèi)。網(wǎng)頁3并不是查詢dog IN TITLE的命中。


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號