一段时间以来,我一直是新 GitHub 代码搜索的 beta 用户,我非常喜欢它:你真的可以在整个 GitHub 上运行正则表达式搜索,这对于查找未记录的 API 的代码示例非常有用以及了解人们如何使用您自己发布的开源代码。事实证明,GitHub 从头开始为此构建了自己的搜索引擎,称为 Blackbird。它是在 Rust 中实现的,并且巧妙地使用了分片的 ngram 索引——而不仅仅是三字母组,因为事实证明,对于包含很多三个字母关键字(如“for”)的语料库来说,这些索引的选择性不够。
我也非常感谢深入了解他们如何处理可见性权限:他们将这些编译成额外的内部搜索子句,从而产生诸如“RepoIDs(…) 或 PublicRepo()”之类的东西
通过黑客新闻
原文: http://simonwillison.net/2023/Feb/6/github-code-search/#atom-everything