自制搜索引擎( 簡體 字) | |
作者:[日] 山田浩之,末永匡 | 類別:1. -> 程式設計 -> 搜索引擎 2. -> 程式設計 -> 綜合 |
出版社:人民郵電出版社 | 3dWoo書號: 43164 詢問書籍請說出此書號! 有庫存 NT售價: 195 元 |
出版日:1/1/2016 | |
頁數:190 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787115411709 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 搜索引擎是如何工作的 1
1-1 理解搜索引擎的構成 3 什么是搜索引擎 3 構成搜索引擎的組件 4 與搜索引擎相關的組件 5 1-2 實現了快速全文搜索的索引結構 7 全文搜索的兩種方法 7 倒排索引的結構 8 倒排索引的構建方法 9 倒排索引中的術語 10 1-3 深入理解倒排索引 12 倒排索引=詞典+倒排文件 12 從倒排索引中查找單詞 13 將單詞的位置信息加入倒排文件中 13 從倒排索引中查找短語 14 1-4 制作中文文檔的倒排索引 16 分割中文句子的方法 16 權衡分割方法 17 1-5 實現倒排索引 19 實現詞典 19 實現倒排文件 22 1-6 使用倒排索引進行檢索 24 布爾檢索 24 使用倒排索引的檢索處理流程 24 關聯度的計算方法 26 信息檢索中的檢索 27 1-7 構建倒排索引 29 使用內存構建倒排索引 29 使用二級存儲構建倒排索引 29 靜態索引構建和動態索引構建 32 1-8 準備要檢索的文檔 34 收集數據 34 數據規范化 35 第2章 準備全文搜索引擎的檢索樣本 37 2-1 全文搜索引擎wiser 39 wiser的構成 39 準備用于檢索的文檔 40 2-2 安裝wiser 42 構建wiser 42 啟動wiser 43 解壓縮Wikipedia的副本 44 2-3 運行wiser 45 構建倒排索引 45 使用倒排索引查詢 46 比較grep和wiser的運行速度 46 第3章 構建倒排索引 49 3-1 復習有關倒排索引的知識 51 提取詞元 51 為每個詞元創建倒排列表 53 3-2 構建倒排索引 54 在存儲器上創建倒排列表 54 倒排列表和倒排文件的數據結構 54 從源代碼級別梳理倒排索引的構建順序 56 進一步閱讀源代碼 59 專欄 根據實際情況設計搜索引擎(系統) 68 第4章 開始檢索吧 71 4-1 檢索處理的大致流程 73 充分理解檢索處理的流程 73 4-2 使用倒排索引進行檢索 75 從源代碼級別梳理檢索處理的流程 75 解讀split_query_to_tokens()函數的具體實現 76 使用具體示例加深對檢索處理流程的理解 77 解讀函數search_docs()的實現細節 80 解讀函數search_phrase()的實現 84 專欄 如何實現標簽檢索 88 第5章 壓縮倒排索引 89 5-1 壓縮的基礎知識 90 壓縮倒排索引的好處 90 專欄 壓縮的目的 90 倒排索引的壓縮方法 91 倒排文件的壓縮方法 91 壓縮的原理 94 5-2 實現wiser中的壓縮功能 97 壓縮功能源代碼的概要 97 了解無需進行壓縮時的操作 99 抓住Golomb編碼的要點 101 解讀Golomb編碼中的編碼處理 105 解讀Golomb編碼的解碼處理 108 第6章 挑戰wiser的優化及參數的調整 113 6-1 提高檢索處理的效率 115 優化檢索處理 115 將查詢分割為無重復部分的詞元序列 116 6-2 禁用短語檢索 119 分析對2字符的字符串進行檢索時的行為 119 分析對3字符的字符串進行檢索時的行為 120 6-3 改變檢索結果的輸出順序 122 作為檢索結果排序核心的指標 122 按照文檔大小降序排列的檢索結果 124 專欄 排名欺詐 128 6-4 讓1個字符的查詢也能檢索出結果 29 獲取以特定字符開頭的詞元的列表 129 合并檢索到的結果 131 專欄 如何實現相似文檔的檢索 131 6-5 調整控制倒排索引更新的緩沖區容量 133 確認由緩沖區容量的差異帶來的不同效果 133 用sar命令分析負載 134 6-6 調整只有英文字母的詞元的分割方法 135 如何避免用英文單詞檢索時準確率下降的問題 135 如何判斷某字符是否屬于索引對象 135 修改負責分割詞元的函數 136 6-7 確認壓縮的效果 138 觀察Golomb編碼的效果 138 對比壓縮啟用前后的索引大小 138 專欄 避免濫用全文搜索引擎 139 第7章 為今后更加深入的學習做準備 141 7-1 wiser沒能實現的功能 143 倒排索引之外的全文搜索索引 143 高效處理大規模數據的存儲器 143 利用緩存提高檢索的速度 143 使用各種各樣的壓縮方法 144 優化搜索結果的排名 144 調整準確率和召回率 145 降低檢索結果排序處理的負載 147 并行處理 147 結合對屬性的篩選過濾 148 分面搜索 148 專欄 時延和吞吐量 149 7-2 全文搜索引擎Groonga的特點 150 通過詞元的部分一致檢索提升召回率 150 使用內存映射文件 151 片段 152 專欄 宣傳活動的重要性 152 7-3 實現出考慮到用戶意圖的搜索引擎 153 引入停用詞 153 應對詞素解析的錯誤 153 專欄 斷句錯誤 154 處理全角字符和半角字符 155 對查詢進行歸一化 156 留意布爾檢索的解析過程 156 通過詞素解析器適當地解析查詢 157 對錯誤的輸入進行修正 157 輸入補全 158 建議用戶檢索相關的關鍵詞 159 7-4 收集、提取文檔時的要點 160 制作爬蟲時的處理要點 160 在提取文本時需要處理的要點 163 Appendix 附錄 165 A-1 深度話題 166 近幾年的壓縮方法 166 動態索引構建 169 分布式索引 174 A-2 wiser中的文本提取和存儲 178 用于處理XML的2 種API——DOM和SAX 178 提取文檔的標題和正文 179 掌握狀態的遷移 182 構建文檔數據庫 187 后記 191 《自制搜索引擎》聚焦于Google和Yahoo!等Web搜索服務幕后的搜索引擎系統,首先講解了搜索引擎的基礎知識和原理,接著以現實中的開源搜索引擎Senna/Groonga為示例,使用該引擎的源代碼引導讀者親自體驗搜索引擎的開發過程。這部分講解涉及了倒排索引的制作和壓縮、檢索的處理流程以及搜索引擎的優化等內容。又簡單介紹了一些更加專業的搜索引擎的知識和要點,為讀者今后進一步學習打下了基礎。
|