搭建Ubuntu平台上的代码搜索引擎

本文介绍了如何在Ubuntu系统中搭建代码搜索引擎LXR和OpenGrok,包括安装步骤、配置过程及注意事项。LXR是用Perl编写,支持多种语言,而OpenGrok基于Java,效率更高。LXR需要Apache服务器,OpenGrok则依赖Tomcat。通过这两个工具,可以高效地搜索和浏览代码库。
摘要由CSDN通过智能技术生成

    由于平时需要阅读Android code, 我发现像androidxref.com这样的网站提供了非常方便的代码搜索功能,在源代码文件之间提供了高效的相互索引。

    利用空余时间,我研究了一下如何搭建这样的系统,以便将来自己可以搭建其他代码的搜索引擎。根据网上找到的资料,基本上是有LXR和OpenGrok两种引擎。我按照找到的资料自己动手搭建了一下,遇到了一些问题并逐一解决,在此和大家分享一下,大部分的内容也是借鉴了其他博客的经验。


一. LXR

    LXR是"the Linux Cross Reference"的缩写。LXR的opensource project 的位置在 http://sourceforge.net/projects/lxr/

    LXR是用perl编写的,提供了以下功能,

    1. 支持多种语言,包括 C, C++, Java, Python, Ruby, Perl, COBOL。

    2. 迅速查找标识符的定义和使用位置。

    3. 快速查找代码。

    4. 支持大量代码

    5. 支持多版本,并在多个版本之间进行比较。


    LXR在Ubuntu环境下,是通过Apache服务器来访问的,其基本步骤是,

    1. 通过LXR的配置步骤产生Apache服务器配置文件apache-lxrserver.conf,这个文件指向了LXR工作目录。

    2. 通过genxref在LXR工作目录下建立索引数据库,基于mysql。

    3. 当使用http://<IP>/source访问时,source是一个perl文件,它会访问索引数据库来建立代码访问页面。(这里我还没有仔细研究source这个perl文件)


    安装步骤:

    1. 安装apache

        sudo apt-get install apache2

        sudo apt-get install libapache2-mod-perl2 libapache2-mod-apreq2

        如果没有执行第二个安装命令,后面启动Apache是会出现错误,Invalid command 'PerlTaintCheck'

    2. 安装perl

        sudo apt-get install perl

        我的perl版本是v5.18.2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值