advanced search页面的url:

https://github.com/search/advanced

搜索结果页面的url:

https://github.com/search?q=ddd&type=repositories

搜索结果页面的url有两个参数:

  1. q参数,代表查询条件

  1. type参数,代表查询类别,可选项是code、repositories、issues等,只能选一个。

参数q里是查询条件,包含各个查询条件,查询条件又分两类:搜索关键字和过滤条件。

搜索关键字就是单个了字符串;过滤条件项就是过滤条件名,过滤操作符,过滤关键字,

比如:created:>2022-11-15。

关键点在于:

  1. 查询条件中的各个过滤条件不是所有的查询类别都支持。

  1. 查询条件中的搜索关键字可以有多个,以空格隔开。

  1. 查询条件中的搜索关键字对不同的查询类别作用的对象是不同的,

比如:code类别里,查询关键字作用于文件的内容。

repositories类别里,查询关键字作用于库的名字,库的read me。

  1. 如果过滤条件当前查询类别不支持,则会被当成查询关键字,这就会产生让人想不到的问题了。

比如在code查询类别时,有过滤条件:created:>1999-11-15,就会把过滤条件created:>1999-11-15

当成搜索关键字,在有关键字“created:>1999-11-15”的代码,就会导致查询结果为空了。

它并不是先按条件过滤github中的项目库后,再在过滤出来的项目库的代码中按查询关键字搜索的。

这下面的文档里,明确的列出各种搜索类型支持的过滤条件:

https://docs.github.com/zh/search-github/searching-on-github/searching-code

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐