Advanced Search
使用高级搜索可以让你近一步缩小搜索范围,你可以通过stars数目、forks数目、文件后缀名等过滤。当你在条件输入框填写条件的时候,它会自动的把高级查询拼接到上面的输入框中。
GitHub Search Syntax
Search Syntax
如果你想精确的查找搜索结果,你可以一直使用高级搜索,但是,使用正确的搜索语法可以帮助你更快速的找到你想要的结果,下面就介绍几种搜索语法。
Greater Than Queries
设想你想找所有与‘cats’有关的项目,而且筛选出它被用户标记星号(stars)的次数大于10次。你可以使用一些操作符帮助你完成。
>>
和 >=
符号代表“大于”和”大于等于”。例如下边的两个例子是等价的
>cats stars:">10"
>cats stars:">=10"
>你也可以使用更加程序化的符号..*
,它等价于>=
,代表查找所有大于等于10的。
>cats stars:"10..*"
>符号*
可以代表任意数字,所以10
.. 50
等价于”所有大约等于10取小于等于50”。
Less Than Queries
如果你想找所有与‘cats’有关的项目,而且筛选出它被用户标记星号(stars)的次数小于10次。你可以使用类似的一些操作符帮助你完成。
><
和 <=
符号代表“小于”和”小于等于”。例如下边的两个例子是等价的
>cats stars:"<10"
>cats stars:"<=9"
>你也可以使用更加程序化的符号*..
,它等价于<=
,代表查找所有小等于10的。
>cats stars:"*..10"
>符号*
可以代表任意数字,所以1
.. 10
等价于”所有大约等于1取小于等于10”。
Range Queries
当你要查找一些没有‘数量’标记的项目时,range查询这时就能显出2它的威力来了,比如你还是要查找与’cat’相关的项目,并且上次的更新时间在2014年1月低到今天的2014年2月28
>cats pushed:2014-01-31..2014-02-28
Omitting Spaces
如果你更倾向更短的标记和更少的字符的话,你可以删除引号以及查询条件中多余的空格,仅当查询的条件中包含空格的时候才需要引号
>cats stars:>10
>cats stars:<10
>cats pushed:2014-01-30..2014-02-28
The power of NOT
你可以使用NOT
符号从你的搜索条件中排除关键字的项目,比如搜索···Hello···会返回很多包含Hello
World
相关的项目,但是如果在搜索条件中加入NOT像这样:
>Hello NOT World
就会过滤掉排除包含World
的。
`NOT
符号只能用于String类型的关键字
Filtering using Exclusion
另一种缩小搜索范围的方式是排除子集。在搜索的条件的前面带上-
,就能排除所有符合条件的结果集
比如你想查找所有包含’cats’并且’stars’数量大于10并且不使用’javascript’
>cats stars:>10 -language:javascript
查找所有没有@defunkt的issues:
>mentions:defunkt -user:github
转自:http://www.shaojie.name/blog/2014/02/23/advanced-search/