編者註:本文首發於“少數派”(微信公眾號:sspaime),全球深度報道網獲授權轉載。
要說在中國知名度最高的網站,百度應該是當之無愧的第一名;要說我們日常使用最頻繁的網站,儘管每個人的使用習慣與工作需求不同,各大主流搜索引擎依舊名列前茅。
但是,你真的了解這些功能強大、在你的工作學習中不可或缺的互聯網「伴侶」嗎?你又真的會使用它們嗎?希望通過這篇小文章,帶領屏幕前的你們對目前主流搜索引擎的基本原理形成基本認知,並在此承諾不會涉及過多專業知識(畢竟我也不太懂……),更重要的是,希望用我的一點點經驗和認知,幫助大家學會更好使用搜索引擎進行各種內容的搜索。
搜索引擎的基本原理
(注意:這裡所說搜索引擎是指狹義上的搜索工具,例如谷歌、百度、微軟必應等,並非廣義搜索引擎,如專門搜索特定類型文件的搜索引擎,或是各大應用內部檢索內容帖子的搜索功能,僅對狹義搜索引擎的基本原理進行敘述。)
先看定義,搜索引擎是指根據一定的策略,運用特定的計算機程序搜集互聯網上的信息,並對所搜集到的信息進行組織和處理,為用戶提供檢索服務的系統。從定義上來看,搜索引擎的功能實現主要經歷以下三個步驟:
1. 從互聯網上獲取信息。搜索引擎主要通過特定計算機程序——蜘蛛系統程序(也就是人們通常所說的爬蟲)在互聯網聯通的各大服務器中爬取網頁,並沿着各種網頁中的所有URL爬到其他網頁,不斷延伸爬取的「觸角」,並把所有爬到的網頁收集回來。
2. 對所搜集到的信息進行組織處理並建立索引數據庫。由特定分析程序對搜集到的網頁進行分析,提取網頁上的相關信息(包括 URL、網頁內容及其關鍵詞、與其他網頁的關係等),並根據一定的相關度算法進行計算,得到網頁與特定關鍵詞的相關度,並依據相關度進行排序後建立**索引數據庫**。這裡的相關度和排序便是你在某個搜索引擎搜索內容時呈現出的答案排列依據,不同搜索引擎依據不同的指標得出的內容順序也不相同,例如某度前些年被曝出的廣告商可出錢購買特定排序,廣受網友抨擊。因此,所呈現搜索內容的排序也是判斷一個搜索引擎是否能提升我們搜索效率的重要指標之一。
值得一提的是,現在的搜索引擎大多支持「超鏈分析」技術,即不只是分析網頁本身內容,還會分析索引數據庫中所有指向該網頁鏈接的 URL、標題、正文內容,甚至鏈接周圍的相關文字等。這也就是為什麼有時會出現,即使網頁 A 中並沒有出現某個詞,但網頁 B 有鏈接指向網頁 A,且網頁 B 中某一部分出現了該關鍵詞,那麼網頁 A 也會在用戶的搜索中被搜索引擎認為具有一定相關度,從而呈現在搜索結果中。「超鏈分析」技術將用戶搜索所得結果的覆蓋範圍與廣度提升上了新的台階。
3. 為用戶提供檢索服務。用戶在搜索框輸入關鍵詞進行搜索後,搜索引擎依據數據庫中的索引將搜索結果的網頁鏈接和頁面內容摘要組織起來呈現在用戶面前,用戶便可以依據摘要內容點擊對應鏈接,進入相關網頁進一步尋找自己想要的信息。
搜索引擎的分類
全文搜索引擎
我們日常使用最多的,便是全文搜索引擎,如谷歌、微軟必應、百度等。這些搜索引擎從互聯網上提取各個網站的信息,並建立自己的數據庫,當用戶輸入關鍵詞後檢索相匹配的信息,然後以一定的排列順序組織內容將結果呈現於用戶電腦屏幕之上。
目錄索引類搜索引擎
最具代表性的目錄索引類搜索引擎就是大名鼎鼎的 Yahoo!了,這一類搜索引擎與常規意義上我們使用的搜索引擎不同,它們並不是以上文講述的工作流程運作,而僅僅是提供一系列按目錄分類的網站鏈接給用戶。用戶也可以不輸入任何關鍵詞進行查詢,僅通過在特定目錄下瀏覽網站鏈接列表以及人為提供的摘要信息選擇自己想要的網站進行深入查詢。通常而言,目錄索引類搜索引擎依託人工建立,並由人工對收錄網站進行分類,也就導致其搜索範圍較小,更新速度也相對更慢。
元搜索引擎
元搜索引擎在接受用戶查詢請求時,同時在其他多個搜索引擎上進行搜索,並將結果以特定排列順序返回給用戶,其搜索結果通常較為綜合全面,但也導致內容繁雜,搜索命中率也相對較低。著名的元搜索引擎包括 InfoSpace、Dogpile 等,不同元搜索引擎所採用的對搜索結果的排列依據也各有特色。
除以上三類搜索引擎外,還有以下幾種搜索引擎類型:集合式搜索引擎、門戶搜索引擎、免費鏈接目錄等,篇幅有限就不在此贅述了,感興趣的朋友可以自行深入了解。
提升搜索效率的小技巧
01 選擇合適的搜索引擎
不同的搜索引擎對同一關鍵詞得到的搜索結果大為不同,也就造成了使用不同搜索引擎時帶來的搜索效率的高低之分。一般而言,對於不同搜索引擎,目前廣受認可的搜索效率與準確性排序為:谷歌 > 微軟必應 > 百度 > 其他一眾搜索引擎。
當然,正如「白菜蘿蔔各有所愛」,對於搜索引擎的排序也沒有絕對的標準答案,不同用戶可依據各自的使用習慣和內容偏好選擇適合自己的搜索引擎,所謂的搜索引擎「鄙視鏈」也不過是一句玩笑話。
只是,本着希望幫助到大家的初衷,我還是想依據個人體驗向大家提一些小小的建議:能用谷歌就用谷歌,用不了谷歌微軟必應也是一個不錯的選擇,下面的內容里我也將以微軟必應為使用主體介紹一些搜索技巧。
注意:以下搜索技巧在谷歌、微軟必應、百度等主流搜索引擎中均可使用。
02 關鍵詞 + 特定符號
其實我們大多數人都在或多或少使用一些搜索技巧,其中是所有最為廣泛的便是「關鍵詞搜索」,即用關鍵詞替代一整句話進行搜索,以獲得我們想要的信息。比如,你想查北京今天的天氣情況,只要搜索「北京 天氣」就行,而不用搜索「北京今天天氣怎麼樣」。
而特定符號,則可以讓搜索引擎「讀懂」我們的話,常用的符號有下面這些:
「+」:查找包含前面帶「+」號的所有關鍵詞的網頁。例如,想要搜索少數派中關於 RSS 內容,則可以使用「少數派 +RSS」,搜索結果會返回所有包含 RSS 關鍵詞並與少數派相關的網頁。注意:「+」號後面最好緊接着關鍵詞,中間盡量不出現空格。
「“”」:在短語中查找完全匹配的字詞。如果你在搜索框中輸入這樣一段話:「微軟必應中有哪些高級搜索技巧」,搜索引擎會將這段話自動拆分為若干個關鍵詞進行匹配。但是,如果我就是想要完全匹配輸入的內容該如何是好呢?答案是使用「“”」將想搜索的內容框起來,即「“你吃飯了嗎”」。
此外,我在進行試驗的時候發現,如果是用中文的「“”」,微軟必應依舊將輸入內容切分為關鍵詞進行搜索,但如果使用英文中的「””」,微軟必應才會將輸入內容視為一個不可分割的整體進行搜索,然後告訴我沒有我想要的內容……
「AND 或 &」:查找包含所有關鍵詞的網頁。其實我們日常搜索時在不同關鍵詞中間敲的「空格」鍵就發揮着上述作用。也就是說,當你用「空格」或「AND」或「&」連接一系列關鍵詞時,搜索引擎會儘可能返回包含所有關鍵詞的網頁內容。一般情況下,這個技巧都用不上,因為搜索引擎已經十分貼心地將「空格」設置為了此功能。
「NOT 或 -」:排除包含某個關鍵詞的網頁。當你不希望搜索結果中包含某個特定關鍵詞時,「NOT 或 -」便派上了用場。你只需要在你希望排除的關鍵詞前加上「-」,搜索引擎將會返回給你不包含這個關鍵詞的網頁內容。例如,你不想看到關於少數派的搜索內容中看見 RSS 的影子,那你只需要輸入「少數派 -RSS」,即可得到已排除 RSS 後你想要的答案。
「OR 或 |」:查找包含某個關鍵詞的網頁。「OR 或 |」與「AND 或 &」的不同是,前者希望根據多個關鍵詞中的任意一個進行搜索,而後者希望搜索結果中盡量包括所有多個輸入的關鍵詞。例如,輸入「少數派 OR RSS」後,搜索引擎將返回給你包括「少數派」或包括「RSS」的網頁內容。
「()」:查找或排除包含一組關鍵詞的網頁。當我希望搜索結果中包含或排除一大串關鍵詞時,難道要都加上「+」或「-」嗎?當然不用,「()」可以幫助你解決這一困境,你只需要將你想要的關鍵詞用「()」括起來,然後再前面加上你想要的符號,便可實現上述效果。因此,「()」通常其他技巧搭配使用,從而讓你的搜索效率更高一點點。
對了,微軟的官方文檔中還給出了以下注意事項:
- NOT 和 OR 都必須大寫,否則搜索引擎將選擇忽略以加速全文搜索;
- 只有輸入的前 10 個關鍵詞可用於獲取搜索結果;
- 以上符號根據以下順序確定優先級:「()」「“”」「- 或 +」「&」「|」;
- 由於「OR」是優先級最低的運算符,當其與其他運算符連用時,請為「OR」加上引號。
03 使用特定關鍵字
與使用特定符號對搜索內容進行限定相同,微軟必應還提供了若干個關鍵字用於更加強大的搜索定製過程。這些關鍵字與符號的主要區別在於,符號更多是向你提供輸入關鍵詞進行搜索時對關鍵詞的組合,而關鍵字則針對網頁內容的某一具體特徵進行限制。
看到這裡或許你也不太明白是什麼意思,我相信接下來的內容可以解答你的困惑。以下是對各關鍵字作用的解讀與效果展示。注意:以下關鍵字的冒號後不需要加入空格。
「contains:」:確保搜索結果鎖定到帶有指定文件類型鏈接的網頁。例如,如果你想搜索包含pdf格式電子書的網站,你可以輸入「book contains:pdf」,搜索引擎將返回給你所有包含pdf格式電子書的網站。
「ext:」:僅返回帶有指定文件擴展名的網頁。例如,如果你想搜索 pdf 格式的文檔,可以在輸入關鍵詞後輸入「ext:pdf」,搜索引擎將返回給你包含 pdf 格式該文檔的網頁。但是我在實測過程中發現,這一技巧在微軟必應中似乎並不好用,而在谷歌中支持度要更高一些,不過希望在微軟必應中使用此技巧的朋友也不用擔心,下面要講的「filetype:」關鍵字同樣可以達到較好的效果。

在 Google 中使用「ext:」
「filetype:」:僅返回以指定文件類型創建的網頁。與「ext:」不同的是,使用「filetype:」關鍵字將得到特定文檔鏈接,而非包含該文檔的網頁,提升了某些搜索過程的搜索效率。
「inanchor: 或 inbody: 或 intitle:」:這些關鍵字分別返回元數據包含指定術語(如站點的錨點、正文或標題)的網頁。每個關鍵字只能指定一個術語,可以根據需要串聯多個關鍵字條目。網頁中的錨點屬於超鏈接的一種,只不過我們日常接觸到的超鏈接可能更多是指向特定關鍵詞,用於跳轉頁面至其他關鍵詞的解釋網頁中;而錨點則是網頁內部的超鏈接,在網頁中標記具體位置後,在特定位置設置錨點快速跳轉至該位置。例如,「回到頂部」按鈕就是可以快速跳轉至網頁最頂部位置的錨點。言歸正傳,當你希望指定網頁內部特定元素時,可以使用上述三個關鍵字進行搜索限制。
「ip:」:查找指定 IP 地址託管的網站。IP 地址必須由點分隔為四部分。例如,想查詢 180.149.132.47 IP 地址下託管的網頁,只需輸入「ip:180.149.132.47」即可。
「language:」:返回指定語言的網頁,在「language:」關鍵字之後指定語言代碼。例如,輸入「RSS language:cn」以搜索語言為中文的 RSS 相關信息網頁。必應提供了可使用的語言代碼列表。
「loc: 或 location:」:返回來自指定國家或地區的網頁。可直接在「loc:」之後指定國家或地區代碼(代碼列表見前文語言代碼列表)。若要同時指定多個國家或地區,可使用「OR」來組織語言。例如,想要搜索來自美國或英國有關RSS的網頁,輸入「RSS (loc:US OR loc:GB)」。
「prefer:」:為搜索關鍵詞添加重點,以幫助鎖定搜索結果。例如,若要查詢籃球的相關網頁,但搜索內容主要限定在洛杉磯湖人球隊方面,可以輸入「basketball prefer:Los Angeles Lakers」。
「site:」:返回屬於指定站點的網頁,若要關注兩個或多個域,可以用「OR」來組織域。例如,要在少數派網站上查找關於 RSS 的網頁,可以輸入「RSS site:sspai.com」進行搜索。
「feed:」:查找輸入關鍵詞的 RSS 或 Atom 源。沒錯,微軟必應甚至針對 RSS 源的查找定義了特殊的關鍵字用於搜索,可見 RSS 地位之重要。如果你想搜索有關籃球的 RSS 源,只需輸入「feed:basketball」。對於 RSS 用戶來說可以極大提升尋找心儀 RSS 源的搜索效率。
「hasfeed:」:在互聯網上查找包含有關搜索關鍵詞的 RSS 或 Atom 源的網頁。同樣也是一個用於搜索有關內容 RSS 源的關鍵字。例如,如果你想搜索少數派中包含 RSS 源的網頁,可以輸入「site:sspai.com hasfeed:basketball」。
「url:」:檢查列出的域或網址是否在必應的索引內。由搜索引擎的基本原理我們可以得知,搜索引擎會將互聯網上爬取到的網頁按特定策略組織起來,建立索引數據庫。該關鍵字的作用便是幫助我們查詢某一網站是否被微軟必應收錄進了索引數據庫中。例如,如果你想要驗證少數派是否在微軟必應的索引數據庫中,可以輸入「url:sspai.com」進行查詢。
註:以上關鍵字用法均來自於微軟必應官方文檔,其中介紹的某些特性和功能可能會因地區不同而無法使用,請根據實際情況取用。
寫在最後
以上內容僅僅是使用搜索引擎進行內容搜索過程中可能可以用於提升效率的一些小技巧,關於「搜索」本身則有更多實用技巧供我們發現與選擇,例如,在特定網站搜集想要的數據,找一些功能強大的網站尋找各種資源,還可以用合適的上網方式擴大互聯網搜索範圍等。
「搜索」的世界很大,其本身就有許多技巧與方法供我們探索發現,歡迎大家在評論區積極留言,向大家分享自己在多年搜索信息過程中總結的奇技淫巧。