前言
搜索是每个程序猿必备的生存技能。
在我看来,提高搜索能力分为两种,一种是提取搜索关键字的能力,另一种是掌握搜索引擎相关的技巧。本文将分别针对两种类型进行简单的介绍,希望读者看完本文后,在获得知识的同时,也能够补充一些本文未提及的技巧。
声明1:本文部分内容来源于 谷歌搜索技巧
声明2:本文受众全体为面向互联网行业,所以,不会涉及一些特殊的搜索的搜索技巧
提取搜索关键字的能力
搜索的前提是,提供给搜索引擎一些【特征】,该【特征】不能是【杂乱】的。举个例子,我今天看了一部剧,想知道主演是谁,和“主演”相比“逃避虽可耻但很有用”更加适合作为关键词;当然,【特征】不能是搜索引擎【无法识别】的,比如,“百公”等生搬硬造的关键字。除了使用适合的关键字外,我们也可以通过一些其它技巧把【特征】提供给搜索引擎,比如"site:"。后面将会一一介绍这些技巧。
提高关键字的精确度
- 使用适合网络搜索的字词【提高精确度】
搜索引擎的工作原理是将您输入的字词与网络上的网页内容进行匹配。因此,为了获得最佳结果,请使用最有可能出现在网页上的字词。例如,请输入“头痛”,而不是“我的头不舒服”,因为“头痛”才是医疗网站上会使用的词。
作者补充:按照我的理解,输入关键词之前,想想它在搜索结果页中会以什么方式呈现。例如,“头痛 治疗方案”比 “头痛了,我该怎么办”的结果会更好一些。(得益于技术的进步和工程师的努力,两种方式的搜索结果会越来越接近;但是,依然推荐大家使用更加合适的关键字)。
作者补充2:搜索引擎的排序会考虑权重,
比如,
- 完全匹配搜索【提高精确度】
在字词前后分别加上中文或英文双引号(如"[任意字词]"),可精确搜索字序相同的词组。请注意,使用双引号进行搜索可能会排除一些相关的搜索结果。例如,搜索“Alexander Bell”可能会漏掉涉及 Alexander G. Bell 的网页。
作者补充:搜索方法名或者函数名时,可以使用该技巧,比如 【UIView Reference】
- 使用描述性字词【提高精确度】
字词越独特,您越有可能获得相关程度较高的结果。因此,[名人铃声] 的搜索效果可能要优于 [名人声音]。不过请注意,如果您输入的搜索字词并不常用,那么即使它的意思正确,也可能与您所需的网页不匹配。
先降低精确度,后提升精确度
- 用最少的词进行搜索【降低精确度】
一两个简单的搜索字词通常可让您获得最全面的搜索结果。请先用简短的字词开始搜索,然后添加其他字词来优化搜索结果。
作者补充:如果结果太少,可以尝试用最少的关键字进行搜索,结果增多后,再使用【""】+ 【-】提高精确度。
- ""
如果的、& 等常见字词字符对您的搜索十分重要(例如在电影或图书名称中),那么您可以在其前后分别加上双引号(即“的”)加以强调。
您还可以使用减号 (-) 来指定不希望结果中包含的特定字词,例如搜索和百度相关,但是和贴吧没有关系的内容【百度 -贴吧】。
- 在特定网站内搜索【提高精确度】
如果您希望在特定的网站或特定类型(.org 或 .edu)的网站中进行搜索,请在查询内容前加上 site:,例如:“site:edu”或“site:nytimes.com”。
作者补充:Chrome 浏览器可以自由定制搜索引擎。
比如,我是 iOS 开发者,经常需要在 Apple 网站上面搜索资料,所以,我专门定制一份搜索引擎,只需要输入 "app" + "tab" + "关键字" 既可以只在 Apple 的网站上面搜索到结果。
当然,github 也可以:
在Chrome 浏览器中访问 chrome://settings/searchEngines 就可以进入定制搜索引擎功能。
搜索引擎技巧:
- 按文件类型搜索
要搜索特定类型的文件(例如,PDF、PPT 或 XLS),您可以添加 filetype: 和文件格式缩写(以 3 个字母表示)。
- 查找相关网页
您可以使用 related: 运算符来查找具有类似内容的网页,方法是输入“related:”,然后加上相关网址。例如,如果您找到了一个喜欢的网站,可以尝试使用“related:[输入网址]”来查找类似的网站。
扩展阅读
补充1:
可以使用谷歌的搜索定制,比如,可以把 程序猿必备的网站做一个合集,如下图所示,
补充2:
受到技术的限制,我们基本上只能提供现成的【关键字】为【特征】,而不能把大脑中想象的画面为【特征】进行输入。
所以,我们需要不断地扩展自己的【关键字库】。
扩展【关键字库】有两种常见方法:
- 通过微信号/微博/简书等途径进行泛读/精度,不停地吸收看到的每一个新的【关键字】。
- 很多特殊领域的网站都是一个【关键字库】,我们只需要把这些【关键字库】的链接存好即可。
比如,http://code4app.com 。它是一个为提供 iOS 提供各种功能的demo 的网站。
如下图,我们可以看到这个网站有一些固定的【关键字】,它是以【分类】为维度进行区分。
并且,点击某个【关键字】后进入的新页面,也会有很多的【关键字】,并且会不断地更新,比如,【星级评价】、【自定义滚动条】...
通过这种方式,你也可以不停地更新自己的【关键字库】。