企業(yè)級海量代碼的檢索與管理技術
發(fā)布時間:2021-04-06 19:24
在大型IT企業(yè)中,尤其像Google或者百度,代碼搜索已是軟件開發(fā)過程中不可或缺且頻繁的活動,其通過借鑒或復用已有代碼,加速開發(fā)過程的速度.多年以來,已有大量的研究人員關注代碼搜索,且設計出很多優(yōu)秀的工具.但是已有的研究和工具主要是在小規(guī)模或者編程語言單一的代碼數據集上,沒有從企業(yè)實際搜索需求出發(fā),且對用戶的查詢輸入也有所限制,尚缺少一套針對企業(yè)級海量代碼的檢索與管理技術方案.提出了一套企業(yè)級海量數據代碼搜索引擎的方案和系統實現,面向開發(fā)過程中用戶最直接的需求,通過離線分析與在線分析,完成對海量代碼庫的索引構建與檢索.其中,離線分析負責代碼相關數據的獲取與分析、構建索引集群.在線過程負責變換用戶的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
本文鏈接:http://sikaile.net/kejilunwen/sousuoyinqinglunwen/3121992.html