【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简介

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Java面试题整理,2021年腾讯Java高级面试题及答案[通俗易懂]

    Java面试题整理,2021年腾讯Java高级面试题及答案[通俗易懂]正文如果你参加过一些大厂面试,肯定会遇到一些开放性的问题:1、写一段程序,让其运行时的表现为触发了5次YoungGC、3次FullGC、然后3次YoungGC;2、如果一个Java进程突然消失了,你会怎么去排查这种问题?3、给了一段Spring加载Bean的代码片段,阐述一下具体的执行流程?是不是看上去很难,是不是和自己准备的“题库”中的问题不一样?不知道从何处下手?如果你有这种感觉,那么说明你的技术还需要继续修炼。面对如此多的技术面试,怎么样才能说自己的技术已经过关了呢?只有

  • nodejs显现events.js:72抛出错误

    nodejs显现events.js:72抛出错误

  • linux服务器安装路径及基本命令[通俗易懂]

    linux服务器安装路径及基本命令[通俗易懂]Nginx安装安装路径 /usr/local/nginx配置文件 /usr/local/nginx/conf/nginx.conf启动:进入到/usr/local/nginx/sbin下,./nginx关闭:进入到/usr/local/nginx/sbin下 ./nginx -s stop 重启:同上, -s reload停止 kill -9 线程号查看 ps -ef|grep nginxhttps://www.jianshu.com/p/9f2c162ac77c 可参考安装ng

  • Android SDK下载和环境变量配置

    Android SDK下载和环境变量配置一.AndroidSDK简介AndroidSDK(SoftwareDevelopmentKit,软件开发工具包)被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。它提供了AndroidAPI库和开发工具构建,测试和调试应用程序。简单来讲,AndroidSDK可以看做用于开发和运行Android应用的一个软件。二.AndroidSDK下载1.国内的Android工具的下载网站:https://www.androiddevtools.

  • AngularJS进阶(十一)AngularJS实现表格数据的编辑,更新和删除[通俗易懂]

    AngularJS进阶(十一)AngularJS实现表格数据的编辑,更新和删除[通俗易懂]AngularJS实现表格数据的编辑,更新和删除效果实现首先,我们先建立一些数据,当然你可以从你任何地方读出你的数据varapp=angular.module(‘plunker’,[‘ui.bootstrap’]);app.controller(‘MainCtrl’,function($scope){$scope.name=’World’;$sc

  • C#开发微信门户及应用(32)–微信支付接入和API封装使用

    C#开发微信门户及应用(32)–微信支付接入和API封装使用

发表回复

您的电子邮箱地址不会被公开。

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