时效提示:本文写于 2020 年,部分 API、配置和工具版本可能已经变化,参考时请以官方最新文档为准。

背景

在李自然说的视频中看到分享自我学习的方法,其中一部分是搜索引擎的技巧,如何高效搜索。

Google && Baidu

精准信息匹配

  1. 精准信息匹配 "keywords"
  2. 排除字词 "keywords -exclude"
  3. 必须包含某个词:给该词加双引号 keywords "include"(Google 早已取消 + 运算符;- 是排除,不是包含)
  4. 模糊字词 "have a * idea"
  5. 选择性匹配 "化石 OR 可再生能源"

精准链接资源

  1. 特定网页标题 "natural resources intitle:coal"
  2. 网页标题同时包含 "natural resources allintitle:coal petroleum"
  3. 特定域名查找 "水资源 site:un.org"
  4. 特定文件类型查找 "自然资源分类 filetype:PDF"
  5. 二级域名 "site:*.qq.com"

记不住语法时直接用高级搜索页面:Google 高级搜索、百度高级搜索。

常用搜索指令速查

指令作用示例百度
"关键词"整句精确匹配"Connection reset by peer"支持
-词排除包含该词的结果redis 教程 -csdn支持
site:只搜某个网站或域名site:stackoverflow.com支持
filetype:只搜某种文件filetype:pdf支持
intitle:标题里包含intitle:面试题支持
inurl:URL 里包含inurl:docs支持
OR多个词任意一个redis OR memcached—
before: / after:按发布时间过滤spring boot 3 after:2023-01-01—
*在引号里代替任意词"have a * idea"—

程序员常用的搜索套路

  • 报错信息去掉本机路径、行号这类个性化内容,整句加双引号搜。

  • 技术问题优先用英文关键词,并限定站点:"NoSuchBeanDefinitionException" site:stackoverflow.com。

  • 开源组件的问题直接搜 GitHub Issues:"报错关键字" repo:spring-projects/spring-boot is:issue,经常能找到官方回复和修复版本。

  • 查官方文档时加 site: 限定官网,避开转载和过期的二手内容。

Google image 辨别词意

遇到陌生的英文单词或专业名词,与其看翻译,不如直接用 Google 图片 搜一下,看到实物图更容易理解,比如 “kraft paper”“dovetail joint”。

反过来,手里有一张图(截图、报错弹窗、实物照片)时,可以用 Google Lens 以图搜图:找图片出处、找同款、识别图里的文字并直接搜索。

Github

基本搜索

  • 查找stars数超过100的cat仓库:cat stars:>100

  • 搜索用户名为fengbingchun的所有仓库:user:fengbingchun

  • 搜索不包含”cat”的所有仓库:NOT cat

代码搜索

  • 搜索用户名为fengbingchun并且文件中含有”cv::Mat”的所有文件:cv::Mat user:fengbingchun

  • 搜索文件大小大于1000KB并文件中包含”system”的所有文件:system size:>1000

  • 搜索在/docs/路径下文件中含有”examples”的所有文件:examples path:/docs/

GitHub 现在的代码搜索需要登录后使用,语法以 repo:、path:、language:、symbol: 为主,还支持 /正则/;上面按文件大小过滤的 size: 属于旧版语法,新版代码搜索已不支持。仓库搜索常用的还有 pushed:>2024-01-01(最近有更新)、topic:、in:readme、archived:false。

问题搜索

  • 搜索用户名为fengbingchun并issue中含有”opencv”字段的所有issues:opencv user:fengbingchun

  • 搜索issue是open状态并且issue中含有”fengbingchun”字段的所有issues:fengbingchun is:open

  • 搜索issue中comments数大于4次且含有”fengbingchun”字段的所有issues:fengbingchun comments:>4

  • 搜索issue创建者是fengbingchun的所有issues:author:fengbingchun

  • 搜索issue在2019年2月15日后创建的且含有”opencv”字段的所有issues:opencv created:>2019-03-15

  • 搜索用户全名为”Bingchun Feng”的用户:fullname:"Bingchun Feng"

  • 搜索地址在” San Francisco, CA”的用户名包含tom的所有仓库:tom location:"San Francisco, CA"

页面高级搜索

github advanced search

GitHub搜索技巧整理(fengbingchun)、GitHub 官方:仓库搜索、GitHub 官方:代码搜索语法