第1章 搜索引擎總體結構 1
1.1 搜索引擎基本模塊 2
1.2 開發環境 2
1.3 搜索引擎工作原理 4
1.3.1 網絡爬蟲 4
1.3.2 全文索引結構與Lucene實現 4
1.3.3 搜索用戶界麵 7
1.3.4 計算框架 8
1.3.5 文本挖掘 9
1.4 本章小結 10
第2章 網絡爬蟲的原理與應用 11
2.1 爬蟲的基本原理 12
2.2 爬蟲架構 14
2.2.1 基本架構 15
2.2.2 分布式爬蟲架構 17
2.2.3 垂直爬蟲架構 18
2.3 抓取網頁 19
2.3.1 下載網頁的基本方法 20
2.3.2 網頁更新 23
2.3.3 抓取限製應對方法 25
2.3.4 URL地址提取 27
2.3.5 抓取JavaScript動態頁麵 28
2.3.6 抓取即時信息 31
2.3.7 抓取暗網 32
2.3.8 信息過濾 33
2.3.9 最好優先遍曆 38
2.4 存儲URL地址 40
2.4.1 BerkeleyDB 40
2.4.2 布隆過濾器 42
2.5 並行抓取 45
2.5.1 多綫程爬蟲 45
2.5.2 垂直搜索的多綫程爬蟲 47
2.5.3 異步I/O 49
2.6 RSS抓取 52
2.7 抓取FTP 54
2.8 下載圖片 55
2.9 圖像的OCR識彆 56
2.9.1 圖像二值化 57
2.9.2 切分圖像 59
2.9.3 SVM分類 62
2.10 Web結構挖掘 66
2.10.1 存儲Web圖 66
2.10.2 PageRank算法 70
2.10.3 HITs算法 77
2.10.4 主題相關的PageRank 81
2.11 部署爬蟲 82
2.12 本章小結 82
第3章 索引內容提取 86
3.1 從HTML文件中提取文本 87
3.1.1 字符集編碼 87
3.1.2 識彆網頁的編碼 90
3.1.3 網頁編碼轉換為字符串編碼 93
3.1.4 使用HTMLParser實現定嚮抓取 93
3.1.5 使用正則錶達式提取數據 98
3.1.6 結構化信息提取 99
3.1.7 網頁的DOM結構 102
3.1.8 使用NekoHTML提取信息 104
3.1.9 網頁去噪 109
3.1.10 網頁結構相似度計算 114
3.1.11 提取標題 116
3.1.12 提取日期 117
3.2 從非HTML文件中提取文本 117
3.2.1 提取標題的一般方法 118
3.2.2 PDF文件 122
3.2.3 Word文件 126
3.2.4 Rtf文件 127
3.2.5 Excel文件 138
3.2.6 PowerPoint文件 141
3.3 提取垂直行業信息 141
3.3.1 醫療行業 141
3.3.2 旅遊行業 142
3.4 流媒體內容提取 143
3.4.1 音頻流內容提取 143
3.4.2 視頻流內容提取 147
3.5 存儲提取內容 148
3.6 本章小結 149
第4章 中文分詞原理與實現 151
4.1 Lucene中的中文分詞 152
4.1.1 Lucene切分原理 152
4.1.2 Lucene中的Analyzer 154
4.1.3 自己寫Analyzer 155
4.1.4 Lietu中文分詞 158
4.2 查找詞典算法 158
4.2.1 標準Trie樹 159
4.2.2 三叉Trie樹 162
4.3 中文分詞的原理 166
4.4 中文分詞流程與結構 170
4.5 形成切分詞圖 171
4.6 概率語言模型的分詞方法 177
4.7 N元分詞方法 181
4.8 新詞發現 183
4.9 未登錄詞識彆 185
4.10 詞性標注 186
4.10.1 隱馬爾可夫模型 189
4.10.2 基於轉換的錯誤學習方法 197
4.11 平滑算法 199
4.12 機器學習的方法 203
4.12.1 最大熵 204
4.12.2 條件隨機場 207
4.13 有限狀態機 207
4.14 本章小結 214
第5章 讓搜索引擎理解自然語言 216
5.1 停用詞錶 217
5.2 句法分析樹 219
5.3 相似度計算 223
5.4 文檔排重 226
5.4.1 語義指紋 227
5.4.2 SimHash 230
5.4.3 分布式文檔排重 240
5.5 中文關鍵詞提取 241
5.5.1 關鍵詞提取的基本方法 241
5.5.2 HITS算法應用於關鍵詞提取 243
5.5.3 從網頁中提取關鍵詞 245
5.6 相關搜索詞 246
5.6.1 挖掘相關搜索詞 246
5.6.2 使用多綫程計算相關搜索詞 248
5.7 信息提取 249
5.8 拼寫檢查與建議 254
5.8.1 模糊匹配問題 257
5.8.2 英文拼寫檢查 260
5.8.3 中文拼寫檢查 261
5.9 自動摘要 264
5.9.1 自動摘要技術 264
5.9.2 自動摘要的設計 265
5.9.3 基於篇章結構的自動摘要 271
5.9.4 Lucene中的動態摘要 271
5.10 文本分類 274
5.10.1 特徵提取 276
5.10.2 中心嚮量法 280
5.10.3 樸素貝葉斯 282
5.10.4 支持嚮量機 291
5.10.5 多級分類 299
5.10.6 規則方法 300
5.10.7 網頁分類 303
5.11 自動聚類 304
5.11.1 聚類的定義 304
5.11.2 K均值聚類方法 304
5.11.3 K均值實現 306
5.11.4 深入理解DBScan算法 310
5.11.5 使用DBScan算法聚類實例 312
5.12 拼音轉換 314
5.13 概念搜索 315
5.14 多語言搜索 323
5.15 跨語言搜索 324
5.16 情感識彆 325
5.16.1 確定詞語的褒貶傾嚮 328
5.16.2 實現情感識彆 329
5.16.3 用戶協同過濾 331
5.17 本章小結 332
第6章 Lucene原理與應用 334
6.1 Lucene深入介紹 335
6.1.1 常用查詢 335
6.1.2 查詢語法與解析 336
6.1.3 查詢原理 340
6.1.4 使用Filter篩選搜索結果 341
6.1.5 遍曆索引庫 341
6.1.6 索引數值列 343
6.2 Lucene中的壓縮算法 346
6.2.1 變長壓縮 346
6.2.2 PForDelta 348
6.2.3 前綴壓縮 351
6.2.4 差分編碼 352
6.2.5 設計索引庫結構 354
6.3 創建和維護索引庫 355
6.3.1 創建索引庫 355
6.3.2 嚮索引庫中添加索引文檔 356
6.3.3 刪除索引庫中的索引文檔 359
6.3.4 更新索引庫中的索引文檔 359
6.3.5 索引的閤並 360
6.3.6 索引文件格式 360
6.3.7 分發索引 363
6.3.8 修復索引 366
6.4 查找索引庫 366
6.5 讀寫並發控製 367
6.6 優化使用Lucene 368
6.6.1 索引優化 368
6.6.2 查詢優化 369
6.6.3 實現時間加權排序 372
6.6.4 實現字詞混閤索引 375
6.6.5 重用Tokenizer 380
6.6.6 定製Tokenizer 380
6.7 檢索模型 382
6.7.1 嚮量空間模型 382
6.7.2 BM25概率模型 387
6.7.3 統計語言模型 392
6.8 查詢大容量索引 394
6.9 實時搜索 395
6.10 本章小結 396
第7章 搜索引擎用戶界麵 397
7.1 實現Lucene搜索 398
7.2 搜索頁麵設計 399
7.2.1 Struts2實現的搜索界麵 399
7.2.2 翻頁組件 400
7.3 實現搜索接口 401
7.3.1 編碼識彆 401
7.3.2 布爾搜索 404
7.3.3 指定範圍搜索 405
7.3.4 搜索結果排序 406
7.3.5 搜索頁麵的索引緩存與更新 406
7.4 曆史搜索詞記錄 409
7.5 實現關鍵詞高亮顯示 410
7.6 實現分類統計視圖 412
7.7 實現相似文檔搜索 417
7.8 實現AJAX搜索聯想詞 419
7.8.1 估計查詢詞的文檔頻率 419
7.8.2 搜索聯想詞總體結構 420
7.8.3 服務器端處理 420
7.8.4 瀏覽器端處理 421
7.8.5 服務器端改進 426
7.8.6 拼音提示 429
7.8.7 部署總結 430
7.9 集成其他功能 430
7.9.1 拼寫檢查 430
7.9.2 分類統計 431
7.9.3 相關搜索 433
7.9.4 再次查找 436
7.9.5 搜索日誌 436
7.10 搜索日誌分析 438
7.10.1 日誌信息過濾 438
7.10.2 信息統計 440
7.10.3 挖掘日誌信息 442
7.11 本章小結 443
第8章 使用Solr實現企業搜索 444
8.1 Solr簡介 445
8.2 Solr基本用法 446
8.2.1 Solr服務器端的配置與中文支持 447
8.2.2 把數據放進Solr 452
8.2.3 刪除數據 454
8.2.4 Solr客戶端與搜索界麵 455
8.2.5 Solr索引庫的查找 457
8.2.6 索引分發 461
8.2.7 Solr搜索優化 464
8.3 從FAST Search移植到Solr 467
8.4 Solr擴展與定製 468
8.4.1 Solr中字詞混閤索引 469
8.4.2 相關檢索 470
8.4.3 搜索結果去重 472
8.4.4 定製輸入輸齣 476
8.4.5 分布式搜索 480
8.4.6 SolrJ查詢分析器 481
8.4.7 擴展SolrJ 489
8.4.8 擴展Solr 490
8.4.9 查詢Web圖 494
8.5 Solr的.NET客戶端 496
8.6 Solr的PHP客戶端 502
8.7 本章小結 505
第9章 地理信息係統案例分析 506
9.1 新聞提取 508
9.2 POI信息提取 512
9.2.1 提取主體 517
9.2.2 提取地區 519
9.2.3 指代消解 520
9.3 本章小結 522
第10章 戶外活動搜索案例分析 523
10.1 爬蟲 524
10.2 信息提取 525
10.3 活動分類 528
10.4 搜索 529
10.5 本章小結 530
參考資料 531
· · · · · · (
收起)
評分
☆☆☆☆☆
本人看此书的目的很简单, 就是想看看搜索引擎的结构,了解现有的开源项目lucene、solr, 以及搭建搜索引擎的难度。 如此一来, 此书是很合适的, 比起网上的零散资料。 的多长啊多长啊
評分
☆☆☆☆☆
对搜索引擎技术讲解的比较全面,读了之后对搜索引擎技术能了解得比较全面。同时对于Lucene的介绍也是传承了本书的特点:细致、全面。看了之后对Lucene,还有起相关的组件Solar啊等等也有了初步的认识。对于初学者还是值得读一下的。对于搜索引擎技术和Lucene能够建立起立体全面...
評分
☆☆☆☆☆
本人看此书的目的很简单, 就是想看看搜索引擎的结构,了解现有的开源项目lucene、solr, 以及搭建搜索引擎的难度。 如此一来, 此书是很合适的, 比起网上的零散资料。 的多长啊多长啊
評分
☆☆☆☆☆
正如大多数中国技术作家一样,这本厚厚的书对搜索的每部分都涉及了一点,而每部分的深度都比较浅,并且基本所有东西都可以轻易找到相关资料,作者自己对于这些技术的看法,适用范围之类的经验甚少。。总之我觉得读者看了目录就可以用搜索引擎来达到相关的学习效果了
評分
☆☆☆☆☆
对搜索引擎技术讲解的比较全面,读了之后对搜索引擎技术能了解得比较全面。同时对于Lucene的介绍也是传承了本书的特点:细致、全面。看了之后对Lucene,还有起相关的组件Solar啊等等也有了初步的认识。对于初学者还是值得读一下的。对于搜索引擎技术和Lucene能够建立起立体全面...