一个合格的开发者,应该要熟练地使用Google、Baidu等搜索引擎(不然怎么复制别人的代码)。而搜索引擎为了方便用户的使用,基本都提供了高级搜索功能。而今天介绍的Github,作为全球最大的同性交友网站,存储的代码量可能是全世界最多的。为了方便大家寻找自己需要的代码,同样提供了很多方便的高级搜索语法。
先上文档:https://help.github.com/en/github/searching-for-information-on-github。
此文档为Github官网介绍搜索语法的文档,提供各种语言版本,比如中文。
基本每个github页面左上角都有个搜索框,可直接输入关键字进行搜索。或者也有专门的搜索页面:https://github.com/search 或者高级搜索页面:https://github.com/search/advanced
简单提一句:github的搜索使用了ElasticSearch集群来支持。每当有提交进入github时,索引就会建立。每当Issues和PR创建或者修改时也会建立索引。如果对ES比较熟悉的话,理解起来更快一些。
想搜啥就输入啥就好了
高级搜索语法简单而言就是:
将资源分类
一般我们搜索的都是从代码内容中搜索。而实际上github上的资源不仅仅是代码。还有比如:Repositories、Topics、Issues and pull requests、Code、Commits、Users、Packages、Wikis。
对每一类资源的几乎每个属性都进行了搜索的支持
比如Rspositories的名称、Stars、Created间等。比如Code的所属Repository、User、Path、Language、Filename、extension等。
支持不同属性的交并集查询,支持数值、日期等搜索
通过仓库的star数来筛选:stars:>100000 然后发现第一名竟然从来没有听说过,看来是在下孤陋寡闻了。
查找followers大于某个值的用户:followers:>=50000 然后你会发现阮一峰真NB。
在搜索首页你会看到搜索框上出现下列语句之一(好像是随机的,当前时间20200222):
而在20200211,出现的是:
一个简单的爬虫,让你看清github的用户趋势:https://github.com/dytttf/little_spider/tree/master/github
原文:https://www.cnblogs.com/dyfblog/p/12347916.html