我目前面临 GitHub 搜索 API 的问题,其中搜索结果的数量与我在 GitHub Web 应用程序上看到的结果显着不同。我想了解这些差异并找到解决方案。
问题❓为什么API和Web界面结果差异很大?
使用的查询:
"new(params[" OR "create(params[" OR "update_attributes(params[" path:app/controllers language:Ruby
预期行为:
当我在 GitHub 网站上运行此搜索查询时,它显示大约 123k 个结果。并且它也应该显示 Github 代码搜索 API 的相同结果。
实际行为:
通过 GitHub Search API 使用相同的查询仅返回 225 个结果。
其他尝试:
也尝试传递这样的查询参数:
问题❓ GitHub 网站上可以浏览的页面或结果数量是否有限制?如果是这样,那为什么?
描述:
虽然 GitHub Web 界面最初显示上述查询的 123k 个文件,但它不允许导航到结果的第 5 页之外。
预期行为:
当我在 GitHub 网站上运行此搜索查询时,它显示大约 123k 个结果。对于 @Github 代码搜索 API,它也应该显示相同的结果。
对于您的第一个问题,GitHub Web 搜索和搜索代码 API 依赖于不同的“引擎”,因此返回的总计数通常可能不同。根据GitHub工作人员对GitHub上类似问题的回复:
不幸的是,新的网络搜索使用 Blackbird(更多详细信息请参见这篇文章),并且由于搜索语法和搜索结果的更改,我们尚未升级 REST API 以使用该引擎。
对于您的第二个问题,GitHub Web 搜索 UI 的当前限制是 100 个结果。每页有 20 个结果,因此每个官方文档的浏览限制为 5 页。
任何使用代码搜索的搜索结果仅限于 100 个结果(5 页)。目前,代码搜索结果不支持排序。此限制仅适用于使用新代码搜索来搜索代码,不适用于其他类型的搜索。
根据另一位 GitHub 员工对另一个讨论线程的回复,他们计划允许搜索不受 100 个结果限制,但目前还没有进一步的细节。