我想在 github 下对符合以下条件的提交进行高级搜索:
- 语言:Javascript
- 创建时间:[2011-01-01 至今]
- 推送:[2012-05-01 TO NOW]
- 叉子:[100 TO *]
- 大小:[100 到 1000] //(kb)
我知道 github 使用 Lucene 来执行搜索,但是四处搜索我找不到任何关于查询语法的文档,如果我遵循 apache Lucene 文档的指导方针,我经常会收到“无效的查询语法”消息。
对于我的个人查询,我已经毫无问题地通过了语言、大小和分叉查询,但是我仍然很难找到一个好的匹配来执行基于日期的查询语法。
我必须在日期查询中包含时间戳吗?
我可以计算一下现在 - 3 个月这样的日期吗?
例如,我如何搜索从 4 个月前到现在创建的存储库?
编辑:
我与 github 支持人员交谈,他们对我说,他们使用 Solr 查询语法,该语法允许使用诸如 之类的计算进行日期范围查询NOW - 4MONTHS
,但由于某种原因,它对我来说不起作用,或者我只是不明白这些过滤器是如何工作的操作(创建和推送)。
只是为了测试它,我试图找到任何以 Javascript 作为主要语言的 Repos,这两种语言都是从组合框中选择的,然后尝试使用 [created} 过滤器进行搜索,看看我有什么奇怪的结果。
对于第一次搜索,我尝试查找从今天到 12 个月前创建的任何 javascript 存储库。
创建:[NOW-12MONTHS/DAY TO NOW/DAY]
这给了我总共 233500 个回购,我在顶部列出了“twitter/bootstrap”回购。
对于第二次搜索,我试图找到从今天到 24 个月前创建的任何 Javascript 存储库。
创建:[NOW-24MONTHS/DAY TO NOW/DAY]
它不仅给了我比以前更少的存储库,总共 11867,而且我没有在结果页面中列出任何“twitter/bootstrap”存储库(我认为这是错误的,因为我的第二次搜索“包含”第一个)。第一个结果的观察者比“twitter/bootstrap”少,如果我按观察者计数排序结果,那么不把它放在顶部是错误的!
我并不是说网站上有错误,但我只是不明白它是如何使用日期范围进行计算的。希望有人可以帮助我澄清我的问题。