GitHub API 和 Web 界面搜索结果之间的差异

问题描述 投票:0回答:1

我目前面临 GitHub 搜索 API 的问题,其中搜索结果的数量与我在 GitHub Web 应用程序上看到的结果显着不同。我想了解这些差异并找到解决方案。

问题 1 ⚠️ 搜索结果计数差异

问题❓为什么API和Web界面结果差异很大?

使用的查询:

"new(params[" OR "create(params[" OR "update_attributes(params[" path:app/controllers language:Ruby

URL:https://github.com/search?q=%22new%28params%5B%22+OR+%22create%28params%5B%22+OR+%22update_attributes%28params%5B%22+path%3Aapp%2Fcontrollers +语言%3ARuby&type=code&p=1

预期行为:

当我在 GitHub 网站上运行此搜索查询时,它显示大约 123k 个结果。并且它也应该显示 Github 代码搜索 API 的相同结果。

实际行为:

通过 GitHub Search API 使用相同的查询仅返回 225 个结果。

其他尝试:

  • 我也尝试过对查询参数进行编码。
  • 以下是我正在使用的标头:授权:承载令牌(使用 GitHub 个人访问令牌),接受:application/vnd.github.v3+json,X-GitHub-Api-Version:2022-11-28。

也尝试传递这样的查询参数:

问题 2 ⚠️ GitHub Web 界面上的导航限制

问题❓ GitHub 网站上可以浏览的页面或结果数量是否有限制?如果是这样,那为什么?

描述:

虽然 GitHub Web 界面最初显示上述查询的 123k 个文件,但它不允许导航到结果的第 5 页之外。

预期行为:

当我在 GitHub 网站上运行此搜索查询时,它显示大约 123k 个结果。对于 @Github 代码搜索 API,它也应该显示相同的结果。

github github-api pygithub code-search
1个回答
0
投票

对于您的第一个问题,GitHub Web 搜索和搜索代码 API 依赖于不同的“引擎”,因此返回的总计数通常可能不同。根据GitHub工作人员对GitHub上类似问题的回复:

不幸的是,新的网络搜索使用 Blackbird(更多详细信息请参见这篇文章),并且由于搜索语法和搜索结果的更改,我们尚未升级 REST API 以使用该引擎。

对于您的第二个问题,GitHub Web 搜索 UI 的当前限制是 100 个结果。每页有 20 个结果,因此每个官方文档的浏览限制为 5 页。

任何使用代码搜索的搜索结果仅限于 100 个结果(5 页)。目前,代码搜索结果不支持排序。此限制仅适用于使用新代码搜索来搜索代码,不适用于其他类型的搜索。

根据另一位 GitHub 员工对另一个讨论线程的回复,他们计划允许搜索不受 100 个结果限制,但目前还没有进一步的细节。

© www.soinside.com 2019 - 2024. All rights reserved.