V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Livid
V2EX  ›  程序员

codesearch

  •  
  •   Livid · 2012-04-03 16:10:48 +08:00 · 3586 次点击
    这是一个创建于 4608 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://code.google.com/p/codesearch/

    Google 工程师用 go 语言做的代码搜索工具。
    3 条回复    1970-01-01 08:00:00 +08:00
    jjgod
        1
    jjgod  
       2012-04-03 16:58:48 +08:00   ❤️ 1
    试了一下,速度非常快,适合像我这样每天工作的 code base 非常大的人 (qt/qtbase/qtdeclarative/WebKit/etc.),只要每天跑个 crontab 定期 pull 新的代码然后 cindex 一下。

    有空余机器时间的人可以用它构建一个小而精致的 google code search 复刻,专门索引值得参考的代码,会比现在 github 的搜索要好,github 目前的冗余太多了。

    1. 有个列表,包含值得索引的项目的 git/hg/svn 地址。
    2. 每天遍历一次这个列表,自动 pull 新的代码下来,跑 cindex。
    3. 提供一个 Web 界面调用 csearch/或者它的 Go 接口,返回结果。
    bhuztez
        2
    bhuztez  
       2012-04-03 17:07:32 +08:00
    这个才是 Google Code Search
    https://www.google.com/codesearch

    用 Go 写的那个版本,是在 Google 决定关闭 Code Search 之后才有的事,详情请参考 http://swtch.com/~rsc/regexp/regexp4.html

    另外,Go 这个版本,索引文件数量少的话,其实也不比直接 grep 快多少,完全感觉不出来。

    目前,个人推荐 http://searchco.de/ 作为替代

    --------------------------------------
    分割线下面是大家都讨厌的C2C

    我在 GuruDigger 上说想折腾一个代码搜索 (其实是想弄个点点级的像素精确复制, http://gurudigger.com/products/36391 ),没想到的是,第二天 @zhuangbiaowei 就说可以提供赞助一些盛大云主机。而那个时候,我还不是很确定,代码搜索该怎么实现。虽然看到有论文说用 n-gram 索引就可以,可是我还是很怀疑这到底行不行。(当然,那时候连索引该怎么存,也不完全清楚。) 直到 Russ Cox 公开了代码搜索的一些细节。于是我就直接把Go代码移植了下(其实问题还很多)。

    在开始解决 scale 问题之前,这两周会索引一些 GitHub 上的 repository 的代码,做一个简单的演示。


    最后
    感谢 @kamehamehon 的 GuruDigger
    感谢 @zhuangbiaowei 赞助的云主机
    bhuztez
        3
    bhuztez  
       2012-04-09 21:00:09 +08:00
    @jjgod 还有啥推荐的 GitHub 仓库,我会在几天内上线一个 preview
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2759 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 15:38 · PVG 23:38 · LAX 07:38 · JFK 10:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.