要说在中国知名度最高的网站,百度应该是当之无愧的第一名;要说我们日常使用最频繁的网站,尽管每个人的使用习惯与工作需求不同,各大主流搜索引擎依旧名列前茅。但是,你真的了解这些功能强大、在你的工作学习中不可或缺的互联网「伴侣」吗?你又真的会使用它们吗?希望通过这篇小文章,带领屏幕前的你们对目前主流搜索引擎的基本原理形成基本认知,并在此承诺不会涉及过多专业知识(毕竟我也不太懂……),更重要的是,希望用我的一点点经验和认知,帮助大家学会更好使用搜索引擎进行各种内容的搜索。
搜索引擎的基本原理
(注意:这里所说搜索引擎是指狭义上的搜索工具,例如谷歌、百度、微软必应等,并非广义搜索引擎,如专门搜索特定类型文件的搜索引擎,或是各大应用内部检索内容帖子的搜索功能,仅对狭义搜索引擎的基本原理进行叙述。)
先看定义,搜索引擎是指根据一定的策略,运用特定的计算机程序搜集互联网上的信息,并对所搜集到的信息进行组织和处理,为用户提供检索服务的系统。从定义上来看,搜索引擎的功能实现主要经历以下三个步骤:
1. 从互联网上获取信息。搜索引擎主要通过特定计算机程序——蜘蛛系统程序(也就是人们通常所说的爬虫)在互联网联通的各大服务器中爬取网页,并沿着各种网页中的所有URL爬到其他网页,不断延伸爬取的「触角」,并把所有爬到的网页收集回来。
2. 对所搜集到的信息进行组织处理并建立索引数据库。由特定分析程序对搜集到的网页进行分析,提取网页上的相关信息(包括URL、网页内容及其关键词、与其他网页的关系等),并根据一定的相关度算法进行计算,得到网页与特定关键词的相关度,并依据相关度进行排序后建立索引数据库。这里的相关度和排序便是你在某个搜索引擎搜索内容时呈现出的答案排列依据,不同搜索引擎依据不同的指标得出的内容顺序也不相同,例如某度前些年被曝出的广告商可出钱购买特定排序,广受网友抨击。因此,所呈现搜索内容的排序也是判断一个搜索引擎是否能提升我们搜索效率的重要指标之一。
值得一提的是,现在的搜索引擎大多支持「超链分析」技术,即不只是分析网页本身内容,还会分析索引数据库中所有指向该网页链接的URL、标题、正文内容,甚至链接周围的相关文字等。这也就是为什么有时会出现,即使网页 A 中并没有出现某个词,但网页 B 有链接指向网页 A,且网页 B 中某一部分出现了该关键词,那么网页 A 也会在用户的搜索中被搜索引擎认为具有一定相关度,从而呈现在搜索结果中。「超链分析」技术将用户搜索所得结果的覆盖范围与广度提升上了新的台阶。
3. 为用户提供检索服务。用户在搜索框输入关键词进行搜索后,搜索引擎依据数据库中的索引将搜索结果的网页链接和页面内容摘要组织起来呈现在用户面前,用户便可以依据摘要内容点击对应链接,进入相关网页进一步寻找自己想要的信息。
搜索引擎的分类
全文搜索引擎:
我们日常使用最多的,便是全文搜索引擎,如谷歌、微软必应、百度等。这些搜索引擎从互联网上提取各个网站的信息,并建立自己的数据库,当用户输入关键词后检索相匹配的信息,然后以一定的排列顺序组织内容将结果呈现于用户电脑屏幕之上。
目录索引类搜索引擎:
最具代表性的目录索引类搜索引擎就是大名鼎鼎的 Yahoo!了,这一类搜索引擎与常规意义上我们使用的搜索引擎不同,它们并不是以上文讲述的工作流程运作,而仅仅是提供一系列按目录分类的网站链接给用户。用户也可以不输入任何关键词进行查询,仅通过在特定目录下浏览网站链接列表以及人为提供的摘要信息选择自己想要的网站进行深入查询。通常而言,目录索引类搜索引擎依托人工建立,并由人工对收录网站进行分类,也就导致其搜索范围较小,更新速度也相对更慢。
元搜索引擎:
元搜索引擎在接受用户查询请求时,同时在其他多个搜索引擎上进行搜索,并将结果以特定排列顺序返回给用户,其搜索结果通常较为综合全面,但也导致内容繁杂,搜索命中率也相对较低。著名的元搜索引擎包括InfoSpace、Dogpile等,不同元搜索引擎所采用的对搜索结果的排列依据也各有特色。
除以上三类搜索引擎外,还有以下几种搜索引擎类型:集合式搜索引擎、门户搜索引擎、免费链接目录等,篇幅有限就不在此赘述了,感兴趣的朋友可以自行深入了解。
提升搜索效率的一些 tips:
关于搜索引擎:
不同的搜索引擎对同一关键词得到的搜索结果大为不同,也就造成了使用不同搜索引擎时带来的搜索效率的高低之分。一般而言,对于不同搜索引擎,目前广受认可的搜索效率与准确性排序为:谷歌 > 微软必应 > 百度 > 其他一众搜索引擎(如360搜索等)。当然,正如「白菜萝卜各有所爱」,对于搜索引擎的排序也没有绝对的标准答案,不同用户可依据各自的使用习惯和内容偏好选择适合自己的搜索引擎,所谓的搜索引擎「鄙视链」也不过是一句玩笑话。只是,本着希望帮助到大家的初衷,我还是想依据个人体验向大家提一些小小的建议:能用谷歌就用谷歌,用不了谷歌微软必应也是一个不错的选择,下面的内容里我也将以微软必应为使用主体介绍一些搜索技巧。(当然我没有刻意引战和任何看不起某度的意思。)
搜索引擎使用技巧:
注意:以下搜索技巧在谷歌、微软必应、百度等主流搜索引擎中均可使用。
1. 关键词搜索
其实我们大多数人都在或多或少使用一些搜索技巧,其中是所有最为广泛的便是「关键词搜索」,即用关键词替代一整句话进行搜索,以获得我们想要的信息。
2. 使用特定符号
(1)「+」:查找包含前面带「+」号的所有关键词的网页。例如,想要搜索少数派中关于 RSS 内容,则可以使用「少数派 +RSS」,搜索结果会返回所有包含 RSS 关键词并与少数派相关的网页。注意:「+」号后面最好紧接着关键词,中间尽量不出现空格。
(2)「“”」:在短语中查找完全匹配的字词。如果你在搜索框中输入这样一段话:「微软必应中有哪些高级搜索技巧」,搜索引擎会将这段话自动拆分为若干个关键词进行匹配。但是,如果我就是想要完全匹配输入的内容该如何是好呢?答案是使用「“”」将想搜索的内容框起来,即「“你吃饭了吗”」(别问我为什么不搜「“微软必应中有哪些高级搜索技巧”」,问就是没有与之匹配的内容……)。此外,我在进行试验的时候发现,如果是用中文中的「“”」,微软必应依旧将输入内容切分为关键词进行搜索,但如果使用英文中的「””」,微软必应才会将输入内容视为一个不可分割的整体进行搜索,然后告诉我没有我想要的内容……
(3)「AND 或 &」:查找包含所有关键词的网页。其实我们日常搜索时在不同关键词中间敲的「空格」键就发挥着上述作用。也就是说,当你用「空格」或「AND」或「&」连接一系列关键词时,搜索引擎会尽可能返回包含所有关键词的网页内容。一般情况下,这个技巧都用不上,因为搜索引擎已经十分贴心地将「空格」设置为了此功能。
(4)「NOT 或 -」:排除包含某个关键词的网页。当你不希望搜索结果中包含某个特定关键词时,「NOT 或 -」便派上了用场。你只需要在你希望排除的关键词前加上「-」,搜索引擎将会返回给你不包含这个关键词的网页内容。例如,你不想看到关于少数派的搜索内容中看见 RSS 的影子,那你只需要输入「少数派 -RSS」,即可得到已排除 RSS 后你想要的答案。
(5)「OR 或 |」:查找包含某个关键词的网页。「OR 或 |」与「AND 或 &」的不同是,前者希望根据多个关键词中的任意一个进行搜索,而后者希望搜索结果中尽量包括所有多个输入的关键词。例如,输入「少数派 OR RSS」后,搜索引擎将返回给你包括「少数派」或包括「RSS」的网页内容。
(6)「()」:查找或排除包含一组关键词的网页。当我希望搜索结果中包含或排除一大串关键词时,难道要都加上「+」或「-」吗?当然不用,「()」可以帮助你解决这一困境,你只需要将你想要的关键词用「()」括起来,然后再前面加上你想要的符号,便可实现上述效果。因此,「()」通常其他技巧搭配使用,从而让你的搜索效率更高一点点。
对了,微软的官方文档中还给出了以下注意事项:
NOT 和 OR都必须大写,否则搜索引擎将选择忽略以加速全文搜索;
只有输入的前 10 个关键词可用于获取搜索结果;
以上符号根据以下顺序确定优先级:「()」「“”」「- 或 +」「&」「|」;
由于「OR」是优先级最低的运算符,当其与其他运算符连用时,请为「OR」加上引号。
3. 使用特定关键字
与使用特定符号对搜索内容进行限定相同,微软必应还提供了若干个关键字用于更加强大的搜索定制过程,这些关键字与符号的主要区别在于,符号更多是向你提供输入关键词进行搜索时对关键词的组合,而关键字则针对网页内容的某一具体特征进行限制。看到这里或许你也不太明白是什么意思,我相信接下来的内容可以解答你的困惑。以下是对各关键字作用的解读与效果展示。注意:以下关键字的冒号后不需要加入空格。
(1)「contains:」:确保搜索结果锁定到带有指定文件类型链接的网页。例如,如果你想搜索包含pdf格式电子书的网站,你可以输入「book contains:pdf」,搜索引擎将返回给你所有包含pdf格式电子书的网站。
(2)「ext:」:仅返回带有指定文件扩展名的网页。例如,如果你想搜索 pdf 格式的文档,可以在输入关键词后输入「ext:pdf」,搜索引擎将返回给你包含 pdf 格式该文档的网页。但是我在实测过程中发现,这一技巧在微软必应中似乎并不好用,而在谷歌中支持度要更高一些,不过希望在微软必应中使用此技巧的朋友也不用担心,下面要讲的「filetype:」关键字同样可以达到较好的效果。
(3)「filetype:」:仅返回以指定文件类型创建的网页。与「ext:」不同的是,使用「filetype:」关键字将得到特定文档链接,而非包含该文档的网页,提升了某些搜索过程的搜索效率。
(4)「inanchor: 或 inbody: 或 intitle:」:这些关键字分别返回元数据包含指定术语(如站点的锚点、正文或标题)的网页。每个关键字只能指定一个术语,可以根据需要串联多个关键字条目。网页中的锚点属于超链接的一种,只不过我们日常接触到的超链接可能更多是指向特定关键词,用于跳转页面至其他关键词的解释网页中;而锚点则是网页内部的超链接,在网页中标记具体位置后,在特定位置设置锚点快速跳转至该位置。例如,「回到顶部」按钮就是可以快速跳转至网页最顶部位置的锚点。言归正传,当你希望指定网页内部特定元素时,可以使用上述三个关键字进行搜索限制。
(5)「ip:」:查找指定IP地址托管的网站。IP地址必须由点分隔为四部分。例如,想查询 180.149.132.47 IP地址下托管的网页,只需输入「ip:180.149.132.47」即可。
(6)「language:」:返回指定语言的网页,在「language:」关键字之后指定语言代码。例如,输入「RSS language:en」以搜索语言为英语的 RSS 相关信息网页。必应提供了可使用的语言代码列表如下:国家和地区及其语言代码。
(7)「loc: 或 location:」:返回来自指定国家或地区的网页。可直接在「loc:」之后指定国家或地区代码(代码列表见前文语言代码列表)。若要同时指定多个国家或地区,可使用「OR」来组织语言。例如,想要搜索来自美国或英国有关RSS的网页,输入「RSS (loc:US OR loc:GB)」。
(8)「prefer:」:为搜索关键词添加重点,以帮助锁定搜索结果。例如,若要查询篮球的相关网页,但搜索内容主要限定在洛杉矶湖人球队方面,可以输入「basketball prefer:Los Angeles Lakers」。
(9)「site:」:返回属于指定站点的网页,若要关注两个或多个域,可以用「OR」来组织域。例如,要在少数派网站上查找关于 RSS 的网页,可以输入「RSS site:sspai.com」进行搜索。
(10)「feed:」:查找输入关键词的 RSS 或 Atom 源。没错,微软必应甚至针对 RSS 源的查找定义了特殊的关键字用于搜索,可见 RSS 地位之重要。如果你想搜索有关篮球的 RSS 源,只需输入「feed:basketball」。对于 RSS 用户来说可以极大提升寻找心仪 RSS 源的搜索效率。
(11)「hasfeed:」:在互联网上查找包含有关搜索关键词的 RSS 或 Atom 源的网页。同样也是一个用于搜索有关内容 RSS 源的关键字。例如,如果你想搜索少数派中包含 RSS 源的网页,可以输入「site:sspai.com hasfeed:basketball」。
(12)「url:」:检查列出的域或网址是否在必应的索引内。由搜索引擎的基本原理我们可以得知,搜索引擎会将互联网上爬取到的网页按特定策略组织起来,建立索引数据库。该关键字的作用便是帮助我们查询某一网站是否被微软必应收录进了索引数据库中。例如,如果你想要验证少数派是否在微软必应的索引数据库中,可以输入「url:sspai.com」进行查询。
注:以上关键字用法均来自于 微软必应官方文档,其中介绍的某些特性和功能可能在大陆地区并不适用,比如说最后三个关键字我就没有成功……
写在最后:
以上内容仅仅是使用搜索引擎进行内容搜索过程中可能可以用于提升效率的一些小技巧,关于「搜索」本身则有更多实用技巧供我们发现与选择,例如,在特定网站搜集想要的数据,找一些功能强大的网站寻找各种资源,还可以用合适的上网方式扩大互联网搜索范围等……「搜索」的世界很大,其本身就有许多技巧与方法供我们探索发现,欢迎大家在评论区积极留言,向大家分享自己在多年搜索信息过程中总结的奇技淫巧。