在(2023 年 5 月 8 日),GitHub 新的代码搜索功能正式发布。新的代码搜索不再是可选的功能预览而是所有人强制更新,这对于需要结果排序的人来说是灾难性的,使得GitHub的使用场景受限了。这里有个奇怪的地方,在官方的推文截图里,代码是支持排序的:
然而用户看到的界面却不支持,难道为产品线划分作出的控制?还是其它呢?
对于我来说,GitHub的代码搜索方式是最常用的,我可以查看相关块的最新用法和有趣的分享。当然这个场景同样被一些用户说过,比如:https://stackdiary.com/githubs-new-code-search-is-bad/。这篇文章的作者还找到了一些类似用户的反馈:
并引述:
GitHub团队的某个人没有直接回复我,而是在Hacker News上发表了评论:
(I work on code search.) Yeah, sorry about that. We've heard this feedback a lot. There's two reasons why we haven't implemented this. First, content is shared between repositories which makes this harder than before, when it wasn't. Second, we rebuild the index weekly or even more frequently, so the proxy of "when was this added" that was used doesn't work any more. What we would like to use is "when was this blob added to this branch" but that's extremely expensive to retrieve from Git because Git trees don't record it.
(我从事代码搜索工作。是的,对此感到抱歉。我们经常听到这样的反馈。我们没有实现这一点有两个原因。首先,内容在存储库之间共享,这使得这比以前更难,而以前并非如此。其次,我们每周甚至更频繁地重建索引,因此使用的“何时添加”的代理不再起作用。我们想使用的是“这个 blob 何时添加到这个分支”,但这从 Git 中检索的成本非常高,因为 Git 树不会记录它。
这是一个很好的回应。根据疑似GitHub团队相关代码搜索工作的成员回复,显然有一个技术挑战来获得这个功能。什么意思?可能是架构升级或调整,导致该功能的实现变得更加困难……
如看看今天发布的一些很棒的LangChain代码:
是的,现在它不支持这样了。
新的搜索中,有一个高级搜索,然而那里并没有相关代码搜索的排序。
希望它有天能重新支持吧。