企业级海量代码的检索与管理技术
发布时间:2021-04-06 19:24
在大型IT企业中,尤其像Google或者百度,代码搜索已是软件开发过程中不可或缺且频繁的活动,其通过借鉴或复用已有代码,加速开发过程的速度.多年以来,已有大量的研究人员关注代码搜索,且设计出很多优秀的工具.但是已有的研究和工具主要是在小规模或者编程语言单一的代码数据集上,没有从企业实际搜索需求出发,且对用户的查询输入也有所限制,尚缺少一套针对企业级海量代码的检索与管理技术方案.提出了一套企业级海量数据代码搜索引擎的方案和系统实现,面向开发过程中用户最直接的需求,通过离线分析与在线分析,完成对海量代码库的索引构建与检索.其中,离线分析负责代码相关数据的获取与分析、构建索引集群.在线过程负责变换用户的query、对搜索的结果进行高级排序、生成摘要.本系统部署在百度代码库上,为数十TB级的Git代码库构建了索引,平均一次检索时间在1s之内.在百度推出应用以来,访问量逐步增加,现每周平均用户有数千人,每周查询平均有数万次,广受百度工程师好评.
【文章来源】:软件学报. 2019,30(05)北大核心EICSCD
【文章页数】:12 页
【文章目录】:
1 方案框架概述以及应用到的技术简介
2 方案实现
2.1 代码数据爬虫与代码索引
2.2 query变换
2.3 搜索策略
2.3.1 Elasticsearch原生排序的问题
2.3.2 ranker模块整体方案
2.3.3 根据代码库权重调整
2.3.4 语法策略
2.3.5 摘要生成
3 实际应用评估
3.1 实施场景
3.2 搜索结果精度
3.2.1 评估指标
3.2.2 关键词选取和设置预设最佳结果
3.2.3 一个例子
3.2.4 搜索精度得分
4 不足之处
5 相关研究工作
6 总结与未来工作
【参考文献】:
期刊论文
[1]基于增强描述的代码搜索方法[J]. 黎宣,王千祥,金芝. 软件学报. 2017(06)
本文编号:3121992
【文章来源】:软件学报. 2019,30(05)北大核心EICSCD
【文章页数】:12 页
【文章目录】:
1 方案框架概述以及应用到的技术简介
2 方案实现
2.1 代码数据爬虫与代码索引
2.2 query变换
2.3 搜索策略
2.3.1 Elasticsearch原生排序的问题
2.3.2 ranker模块整体方案
2.3.3 根据代码库权重调整
2.3.4 语法策略
2.3.5 摘要生成
3 实际应用评估
3.1 实施场景
3.2 搜索结果精度
3.2.1 评估指标
3.2.2 关键词选取和设置预设最佳结果
3.2.3 一个例子
3.2.4 搜索精度得分
4 不足之处
5 相关研究工作
6 总结与未来工作
【参考文献】:
期刊论文
[1]基于增强描述的代码搜索方法[J]. 黎宣,王千祥,金芝. 软件学报. 2017(06)
本文编号:3121992
本文链接:https://www.wllwen.com/kejilunwen/sousuoyinqinglunwen/3121992.html