温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:01
找代码第一反应是grab,可企业代码跨几十个仓库,几十个版本,Grab只能从第一行扫到最后一行,代码越多,它就线性的越慢。Plastictic开源了。Sarcery把代码搜索变成能横向扩展的检索,它把代码拆成三层索引,一层层往下钻,仓库、快照、文件、原数据,还有每一行代码。秘诀是wildcat字段的treebrm索引,先用三元组锁定候选行,再验证正则。52个版本,2亿行elastic search源码做正则搜索,Elastic search只要0.031秒,Grape要73.5秒,快了2371倍,代码量涨了27.8倍,它只多花2ms。同一时间,Rip drip慢了183倍,Grap慢了89倍。它几乎没变慢,因为索引只扫候选行,但优势不是固定的。
01:01
看你搜的东西有多稀有,模式越少见,语料越大,赢得越多。不知道确切字符串时,还有第二个工具,扣点search,走BM25相关性排序,不用这做索引速度也快的离谱。同样的语调,向量方案要建6小时,差14分钟,不只是快,检索精度和Co code持平,在s we explore基准上差距只有0.002。装起来很简单,三条命令,Setup index p, 挂一份um到GI actions就行。它的目标不是索引整个互联网,而是搜索你已经部署的那些软件。我是点火三周关注我下期继续拆。
我来说两句