UID 2
精华
积分 7750
威望 点
宅币 个
贡献 次
宅之契约 份
最后登录 1970-1-1
在线时间 小时
本帖最后由 元始天尊 于 2017-1-5 11:19 编辑
http://blog.csdn.net/lichao890427/article/details/53746219
github.com上有百万级别的代码仓库,对于如此数量级的数据库,官方给出了搜索语法(baidu和google都有类似搜索语法)
基本搜索语法如下:
This search
Finds repositories with…
cat stars:>100 Find cat repositories with greater than 100 stars.
user:defunkt Get all repositories from the user defunkt.
tom location:"San Francisco, CA" Find all tom users in "San Francisco, CA".
join extension:coffee Find all instances of join in code with coffee extension.
NOT cat Excludes all results containing cat
基于代码仓库搜索(以XXX为例,下同)
'in'限定符
仓库名包含XXX的:XXX in:name
仓库名和描述包含XXX的:XXX in:name,description
readme包含XXX的:XXX in:readme
'size'限定符
仓库大小1M的:XXX size:1000
仓库大于30M的:XXX size:>=3000
仓库大小在(50KB,120KB)的:XXX size:50..120
‘fork'限定符
仓库fork了5次(语法同上):XXX forks:5
仓库名包含'XXX'或由其fork的仓库:XXX fork:true
被fork的名为‘XXX’的仓库:XXX fork nly
'created'/'pushed'限定符
创建于2011年之前的仓库:XXX created:<2011-01-01
发布于2011年之前的仓库:XXX pushed:<2011-01-01
'user'限定符
用户YYY的仓库:XXX user:YYY
'language'限定符
基于YYY语言的仓库:XXX language:JavaScript
'star'限定符
start数在(10,20)的仓库:XXX stars:10..20
基于代码的搜索
由于代码的复杂性,因此只执行如下检测:
只搜索master分支
只搜索小雨384kb的文件
只搜索文件数小于500000的仓库
不能使用特殊字符
文件内容包含XXX的代码:XXX in:file
文件路径包含XXX的代码:XXX in:path
语言为YYY的代码:XXX language:YYY
文件名包含XXX的代码:XXX filename:YYY
文件后缀为YYY的代码:XXX extension:YYY
以上限定符可以自由组合