【OpenGrok代码搜索引擎】一、OpenGrok简介

【OpenGrok代码搜索引擎】一、OpenGrok简介OpenGrok是一个快速的、非常有用的代码搜索和交叉引用引擎。它由Java语言编写而成。它可以帮助你快速的搜索,交叉引用和索引你的代码树。它可以很好的识别多种应用程序文件格式和代码版本控制工具。

大家好,又见面了,我是你们的朋友全栈君。

一、介绍

OpenGrok是一个快速的、非常有用的代码搜索和交叉引用引擎。它由Java语言编写而成。它可以帮助你快速的搜索,交叉引用和索引你的代码树。它可以很好的识别多种应用程序文件格式和代码版本控制工具。

官网请参考:

{OpenGrok by OpenGrok

 https://github.com/oracle/opengrok

二、功能介绍

  1. 可以搜索全文本,定义,符号,路径和修改记录(这个很重要,可以帮助我们回溯某一笔修改);
  2. 可以将搜索限制在某个子树(简单来说就是可以将搜索范围限制在某个子目录下)
  3. 可以增量更新索引(也就是说)
  4. 支持google搜索类似搜索语法
  5. 支持搜索某个时间段内被修改的文件
  6. 支持使用通配符比如*或?
  7. 支持在搜索结果中显示匹配的行
  8. 为版本控制工具(如Mercurial,CVS,SVN,SCCS和TeamWare)提供了只读的web接口,包括文件修改提交记录/任何两个版本的文件差异(像udiffs和sdiffs)
  9. 支持在线交叉引用查询,包括语法高亮,可通过CSS进行高度定制化的UI显示
  10. 可拓展性强,可为新的编程语言和新的版本控制工具编写插件;

三、主要组成部分

【OpenGrok代码搜索引擎】一、OpenGrok简介

 

3.1 org.opengrok.analysis

负责分析程序,源文件,zip,tar,文档(包括man page,xml,html),图片等。

3.2 org.opengrok.index

创建和更新Lucene索引(开源的全文搜索引擎),递归地沿着目录树向下移动。

3.3 org.opengrok.search

提供搜索结果的界面,文本匹配等。

3.4 org.opengrok.history

对源码版本控制器修订历史的抽象,简单来讲将版本控制器中的源码的修改历史进行同步展示;

3.5 org.opengrok.web

webapp模块,主要是用于部署在web服务器上,如tomcat等。

四、竞品对比矩阵 

【OpenGrok代码搜索引擎】一、OpenGrok简介

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131899.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • QQ机器人制作教程,超详细「建议收藏」

    QQ机器人制作教程,超详细「建议收藏」目录前期准备1、机器人框架的下载和配置2、python的配置和安装具体实现1、发送信息2、获取群成员列表3、接收上报的事件4、实现简单的自动回复下一篇文章介绍更多功能前期准备1、机器人框架的下载和配置首先需要一个qq机器人框架,我使用的是基于mirai以及MiraiGo开发的go-cqhttp(里面有开发文档)。框架下载地址Windows下32位文件为go-cqhttp-v*-windows-386.zipWindows下64位文件为go-cqhttp-v*-windows-amd6

    2025年9月19日
    6
  • Dell服务器IPMI工具远程唤醒开机

    Dell服务器IPMI工具远程唤醒开机DELL服务器不像台式机那样可以在BIOS里面设置自动的开机的时间,这也给客户的远程管理造成困扰,下面的文章可以帮助大家解决这个问题。1. 客户端上需要有ipmish.exe文件2. 启动服务器,使用Ctrl+E进入IPMI Server Management Configuration 3. 设置IPMI Server Management Configuration(1).设置 …

    2022年6月2日
    161
  • 什么是拉链表_女表拉链的

    什么是拉链表_女表拉链的原文地址:https://blog.csdn.net/xiepeifeng/article/details/42431027在数据仓库的数据模型设计过程中,经常会遇到这样的需求:1.数据量比较大;2.表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等;3.需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态,  比如,查看某一…

    2022年10月16日
    4
  • 掌握这些常用Linux命令,一起提升工作效率

    万字长文分享Linux常用命令,一起提升工作效率。开始上班了,新一年的奋斗的之路启程了,要继续【奔赴山海,奔赴热爱】。

    2022年3月1日
    40
  • 单射、满射、双射(一一映射)

    单射、满射、双射(一一映射)设函数f:X->Y,y=f(x)单射:任给x1和x2属于X,若x1≠x2,则f(x1)≠f(x2),称f为单射满射:任给y属于Y,都存在x属于X使得f(x)=y,称f为满射双射:若f既是单射又是满射,称f为双射,也叫一一对应。

    2022年5月1日
    335
  • 深究–CSS中px、rem与em的区别

    深究–CSS中px、rem与em的区别前言:随着PC端的网页盛行,移动端作为重要的一部分,也是火热的发展,但是鉴于一些单位的使用,我们并不知道该怎样去使用,那么今天我们来看看常用的三种单位PX、rem与em。目录:一.PX1.概念:2.特点:二.rem一.PX1.概念:px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。PX:px是pixel的缩写,是像素单位也是为影像显示的基本单位,译自英文“pixel”,pix是英语单词picture的常用简写,加上英语单词“元素”element,就得到pixel,

    2022年6月18日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号