基于倒排索引和字典樹的站內搜索引擎的設計與實現(xiàn)
發(fā)布時間:2017-11-03 12:09
本文關鍵詞:基于倒排索引和字典樹的站內搜索引擎的設計與實現(xiàn)
更多相關文章: 站內搜索 倒排索引 拼音聯(lián)想 字典樹Trie
【摘要】:隨著互聯(lián)網的不斷發(fā)展,快節(jié)奏的生活,人們對更好的用戶體驗的追求,搜索的長時間等待變得讓人無法忍受。如何獲得更快的搜索、更好的搜索結果、更符合用戶心理的推薦成為很多網站、手機應用的痛點。本項目意在通過建立倒排索引加快搜索,使用字典樹結構快速找到聯(lián)想詞,二者相結合的方式提供良好的搜索體驗。完成一個獨立的站內搜索引擎,使得項目可以快速的移植到不同的系統(tǒng)中,提高開發(fā)速度,降低開發(fā)成本。本項目主要完成一個輕量級站內搜索引擎。系統(tǒng)主要分為兩大部分:第一部分為全文索引引擎,主要負責從數(shù)據源建立倒排索引、以有效的格式保存索引、增量更新索引、索引的壓縮、搜索排序等功能;第二部分主要為拼音搜索引擎,主要完成關鍵字檢索、模糊查詢、拼音聯(lián)想等功能;此外完成系統(tǒng)對外的相關接口。主要的工作內容是:獨立完成對整個站內搜索引擎需求分析、系統(tǒng)設計、系統(tǒng)實現(xiàn)以及測試等工作;完成了系統(tǒng)的8大核心功能模塊,2個輔助模塊以及所有對外的接口。具體包括(1)文檔數(shù)據源獲取,(2)倒排索引的建立與壓縮,(3)倒排索引更新,(4)倒排索引的查找,(5)搜索排序,(6)拼音轉化功能的實現(xiàn),(7)拼音搜索Trie建立,(8)拼音聯(lián)想詞的查找,以及輔助功能如高亮顯示、相關推薦等功能。系統(tǒng)進行設計時,極為關注其本身的可拓展性、可移植性和實用性。系統(tǒng)實現(xiàn)過程中使用基于磁盤排序的歸并算法,可以針對內存無法裝下的數(shù)據進行排序,增強系統(tǒng)可用性;同時使用cidx Hit算法進行壓縮,使得倒排索引在不影響效率的情況下占用內存小;相關性的計算使用BM25算法,此外給出不同域權重排序方式,增強系統(tǒng)的靈活性;由于拼音生成聯(lián)系詞生成需要快速反饋給用戶,所以選擇了字典樹作為拼音聯(lián)想的核心數(shù)據結構,做到及時有效的對用戶輸入進行反饋,增強系統(tǒng)的用戶體驗性。最終內部搜索響應時間一般為0.02s,拼音聯(lián)想響應時間約為2ms,有力保障了本系統(tǒng)的可用性和實用性。目前本文對應的系統(tǒng)應用項目成果展示為百度APIStore的官網站內搜索(http://apistore.baidu.com/)。
【關鍵詞】:站內搜索 倒排索引 拼音聯(lián)想 字典樹Trie
【學位授予單位】:哈爾濱工業(yè)大學
【學位級別】:碩士
【學位授予年份】:2016
【分類號】:TP311.52;TP391.3
【目錄】:
- 摘要4-5
- ABSTRACT5-9
- 第1章 緒論9-20
- 1.1 課題背景及研究的目的和意義9-10
- 1.2 國內外相關研究現(xiàn)狀10-17
- 1.2.1 搜索引擎的分類10-11
- 1.2.2 全文搜索引擎現(xiàn)狀分析11-13
- 1.2.3 全文搜索引擎關鍵技術概述13-15
- 1.2.4 國內外開源檢索框架現(xiàn)狀分析15-17
- 1.3 本文的主要研究內容17-20
- 1.3.1 本系統(tǒng)的目標與挑戰(zhàn)17-18
- 1.3.2 本文選用的相關基礎框架18-19
- 1.3.3 本文的研究內容結構說明19-20
- 第2章 基于索引的站內搜索引擎需求分析20-26
- 2.1 引言20
- 2.2 站內搜索系統(tǒng)功能需求分析20-25
- 2.2.1 拼音搜索引擎需求分析22-23
- 2.2.2 后臺檢索引擎需求分析23-25
- 2.3 站內搜索系統(tǒng)性能需求分析25
- 2.4 本章小結25-26
- 第3章 基于索引的站內搜索引擎的設計26-46
- 3.1 引言26
- 3.2 基于倒排索引和字典樹站內搜索系統(tǒng)的總體設計26-28
- 3.3 基于倒排索引的檢索系統(tǒng)的詳細設計28-39
- 3.3.1 文檔數(shù)據源獲取模塊的詳細設計28-32
- 3.3.2 索引建立模塊的詳細設計32-35
- 3.3.3 索引更新模塊的詳細設計35-36
- 3.3.4 搜索查詢模塊的詳細設計36-38
- 3.3.5 搜索排序模塊的詳細設計38-39
- 3.4 基于字典樹的拼音聯(lián)想搜索的詳細設計39-45
- 3.4.1 拼音轉化模塊的詳細設計39-41
- 3.4.2 核心數(shù)據結構的詳細設計41-42
- 3.4.3 字典樹建立模塊的詳細設計42-44
- 3.4.4 拼音搜索模塊的詳細設計44-45
- 3.5 本章小結45-46
- 第4章 基于索引的站內搜索引擎的具體實現(xiàn)46-71
- 4.1 引言46
- 4.2 基于倒排索引的檢索系統(tǒng)的具體實現(xiàn)46-61
- 4.2.1 文檔數(shù)據源獲取模塊的具體實現(xiàn)46-48
- 4.2.2 索引建立模塊的具體實現(xiàn)48-55
- 4.2.3 索引更新模塊的具體實現(xiàn)55-57
- 4.2.4 搜索查詢模塊的具體實現(xiàn)57-59
- 4.2.5 搜索排序模塊的具體實現(xiàn)59-61
- 4.3 基于字典樹的拼音聯(lián)想搜索的具體實現(xiàn)61-69
- 4.3.1 拼音轉化模塊的具體實現(xiàn)62-64
- 4.3.2 核心數(shù)據結構的具體實現(xiàn)64-65
- 4.3.3 字典樹建立模塊的具體實現(xiàn)65-67
- 4.3.4 拼音搜索模塊的具體實現(xiàn)67-69
- 4.4 其他輔助模塊的實現(xiàn)69-70
- 4.5 本章小結70-71
- 第5章 站內搜索系統(tǒng)實現(xiàn)結果以及系統(tǒng)測試71-81
- 5.1 系統(tǒng)功能測試結果展示71-76
- 5.1.1 拼音搜索交互測試效果展示71-73
- 5.1.2 后臺檢索結果測試效果展示73-74
- 5.1.3 系統(tǒng)線下測試效果展示74-76
- 5.2 系統(tǒng)性能測試76-80
- 5.2.1 測試環(huán)境與測試方式76
- 5.2.2 系統(tǒng)測試結果說明76-80
- 5.3 本章小結80-81
- 結論81-82
- 參考文獻82-86
- 致謝86-87
- 個人簡歷87
本文編號:1136118
本文鏈接:http://sikaile.net/kejilunwen/sousuoyinqinglunwen/1136118.html
教材專著