Gitee 又一款超赞的开发神器问世,代号「Kooder」!
Gitee团队 GitHubDaily 5天前
大家好,我是小 G。
随着 Git 这一代码版本控制工具的诞生,越来越多企业选择将项目代码托管至开源平台或自有部署服务器,并采用版本持续迭代的方式,在团队间进行协同开发。
由于企业中有越来越多的项目需要进行本地部署,代码审查的工作量与难度系数也呈指数型上升。
对于开发人员来说,对代码质量的管控、代码风格的统一以及函数方法作用的定位检索,便成为其日常工作必不可少的一部分。
因此,企业全库代码的搜索效率与精准度变得愈加重要。尤其对于将代码通过 GitLab 部署在本地服务器的企业,由于缺少了云端托管平台自身集成的搜索引擎,想要在本地进行全局的代码搜索就变得异常困难。
为解决该问题,Gitee 团队在近日开源了代码搜索工具 Kooder,Kooder 的目标是为包括 Gitee/GitLab/Gitea 在内的代码托管系统提供自动的源码、仓库和 Issue 的搜索服务。
仓库地址:
https://gitee.com/koode/kooder
Kooder 架构
Kooder 服务包含两个模块,分别是 gateway
和 indexer
(默认配置下 indexer
被集成到 gateway
中)。
其中 gateway
用来接受来自 HTTP
的索引任务, 对任务进行检查后存放到队列中;同时 gateway
还接受搜索的请求,并返回搜索结果给客户端。
而 indexer
进程负责监控队列中的索引任务, 并将这些要新增、删除和修改索引的任务更新到索引库中。
数据流图
在运行过程中,Kooder 会自动处理所有索引动作,包括推送代码的自动更新。同时 Kooder 也提供了搜索的 API 可以方便的嵌入到别的应用中。
搜索界面效果
在搜索框中输入你想要搜索的函数、变量或方法名,即可在全仓库内搜索它们,并为搜索结果进行了语言的归类,查看更方便。
主要技术栈
Kooder 不依赖于 Java 容器服务,是一个独立的应用程序,它的主要技术栈有:
lucene jgit vert.x jcseg velocity jackson gitlab4j Spectre.css
进行贡献
Kooder 遵循 Apache-2.0
开源协议,欢迎开发者们踊跃提交 Issue 和 PR。
Kooder 刚刚在前两天完成了 1.0 Alpha2 版本的更新,更多详细信息请前往代码仓库查看,别忘了给它一个 Star 哦:
https://gitee.com/koode/kooder