Lucene開發實踐 1
第1章 搜索引擎總體結構 2
1.1 為什麼要做搜索引擎 2
1.1.1 比價搜索 3
1.2 搜索引擎基本模塊 3
1.3 開發環境 4
1.4 搜索引擎工作原理 5
1.4.1 網絡爬蟲 6
1.4.2 全文索引 6
1.4.3 搜索用戶界麵 8
1.4.4 計算框架 9
1.4.5 文本挖掘 10
1.5 算法基礎 11
1.5.1 摺半查找 11
1.5.2 排序 11
1.6 軟件工具 14
1.7 本章小結 14
1.8 術語錶 14
第2章 自己動手寫全文檢索 18
2.1 構建索引 18
2.2 生成索引文件 19
2.3 讀入索引文件 19
2.4 查詢 19
2.4.1 按相關度排序 21
2.5 有限狀態機 23
2.5.1 運算 23
2.5.2 編輯距離有限狀態機 24
2.6 本章小結 25
第3章 Lucene原理與應用 26
3.1 Lucene快速入門 26
3.1.1 創建索引 26
3.1.2 查詢索引庫 27
3.1.3 創建文檔索引 29
3.1.4 查詢文檔索引 29
3.2 創建和維護索引庫 30
3.2.1 設計索引庫結構 30
3.2.2 創建索引庫 31
3.2.3 嚮索引庫中添加索引文檔 33
3.2.4 刪除索引庫中的索引文檔 36
3.2.5 更新索引庫中的索引文檔 37
3.2.6 關閉索引庫 38
3.2.7 索引的優化與閤並 38
3.2.8 靈活索引 39
3.2.9 索引文件格式 40
3.2.10 定製索引存儲結構 43
3.2.11 寫索引集成到爬蟲 48
3.2.12 多綫程寫索引 51
3.2.13 分發索引 54
3.2.14 修復索引 57
3.3 查找索引庫 57
3.3.1 查詢過程 57
3.3.2 常用查詢 60
3.3.3 基本詞查詢 61
3.3.4 模糊匹配 62
3.3.5 布爾查詢 63
3.3.6 短語查詢 65
3.3.7 跨度查詢 66
3.3.8 FieldScoreQuery 70
3.3.9 排序 74
3.3.10 使用Filter篩選搜索結果 79
3.3.11 使用Collector篩選搜索結果 80
3.3.12 遍曆索引庫 82
3.3.13 關鍵詞高亮顯示 86
3.3.14 列閤並 88
3.3.15 關聯內容(BlockJoinQuery) 90
3.3.16 查詢大容量索引 95
3.4 讀寫並發 96
3.5 Lucene深入介紹 97
3.5.1 整體結構 97
3.5.2 索引原理 98
3.5.3 文檔值 103
3.6 查詢語法與解析 106
3.6.1 JavaCC 107
3.6.2 簡單的查詢解析器 119
3.6.3 靈活的查詢解析器 120
3.7 查詢原理 126
3.7.1 布爾匹配 126
3.7.2 相關性 127
3.8 分析文本 130
3.8.1 Analyzer 130
3.8.2 TokenStream 137
3.8.3 定製Tokenizer 139
3.8.4 重用Tokenizer 141
3.8.5 有限狀態轉換 141
3.8.6 索引數值列 142
3.8.7 檢索結果排序 145
3.8.8 處理價格 146
3.9 Lucene中的壓縮算法 146
3.9.1 變長壓縮 147
3.9.2 PForDelta 149
3.9.3 VSEncoding 152
3.9.4 前綴壓縮 153
3.9.5 差分編碼 155
3.9.6 靜態索引裁剪 157
3.10 搜索中文 157
3.10.1 Lucene切分原理 160
3.10.2 Lucene中的Analyzer 161
3.10.3 自己寫Analyzer 164
3.10.4 Lietu中文分詞 167
3.10.5 字詞混閤索引 167
3.11 索引數據庫中的文本 172
3.12 優化使用Lucene 174
3.12.1 係統優化 174
3.12.2 查詢優化 175
3.12.3 實現時間加權排序 178
3.12.4 詞性標注 182
3.13 檢索模型 185
3.13.1 嚮量空間模型 186
3.13.2 DFR 192
3.13.3 BM25概率模型 199
3.13.4 統計語言模型 205
3.13.5 隱含語義索引 206
3.13.6 學習評分 207
3.13.7 查詢與相關度 208
3.13.8 提高相關度 208
3.13.9 使用Payload調整相關性 209
3.13.10 索引統計 214
3.14 實時搜索 216
3.15 概念搜索 218
3.15.1 發現同義詞 219
3.15.2 垂直領域同義詞 223
3.15.3 同義詞擴展 224
3.16 本章小結 228
3.17 術語錶 228
第4章 搜索引擎用戶界麵 230
4.1 實現Lucene搜索 230
4.1.1 測試搜索功能 230
4.1.2 加載索引 232
4.2 手機搜索界麵 233
4.3 搜索頁麵設計 236
4.3.1 Struts2實現的搜索界麵 236
4.3.2 實現翻頁 239
4.4 實現搜索接口 241
4.4.1 編碼識彆 241
4.4.2 布爾搜索 245
4.4.3 指定範圍搜索 245
4.4.4 搜索結果排序 247
4.4.5 索引緩存與更新 248
4.5 實現分類統計視圖 255
4.5.1 單值列分類統計 262
4.6 實現相似文檔搜索 263
4.7 實現AJAX搜索聯想詞 265
4.7.1 估計查詢詞的文檔頻率 265
4.7.2 搜索聯想詞總體結構 266
4.7.3 服務器端處理 267
4.7.4 瀏覽器端處理 272
4.7.5 拼音提示 274
4.7.6 部署總結 275
4.8 推薦搜索詞 276
4.8.1 挖掘相關搜索詞 276
4.8.2 使用多綫程計算相關搜索詞 278
4.9 拼音搜索 280
4.10 集成其他功能 280
4.10.1 拼寫檢查 280
4.10.2 分類統計 285
4.10.3 相關搜索 292
4.10.4 再次查找 295
4.10.5 搜索日誌 295
4.11 查詢分析 297
4.11.1 曆史搜索詞記錄 297
4.11.2 日誌信息過濾 298
4.11.3 信息統計 299
4.11.4 挖掘日誌信息 301
4.11.5 查詢詞意圖分析 302
4.12 部署網站 302
4.12.1 部署到Web服務器 302
4.12.2 防止攻擊 305
4.13 本章小結 309
第5章 使用Solr實現企業搜索 311
5.1 Solr簡介 312
5.1.1 使用Solr 312
5.2 Solr基本用法 313
5.2.1 Solr服務器端的配置與中文支持 313
5.2.2 數據類型 319
5.2.3 解析器 320
5.2.4 把數據放進Solr 320
5.2.5 刪除數據 325
5.2.6 查詢語法 326
5.3 使用SolrJ 327
5.3.1 Solr客戶端與搜索界麵 327
5.3.2 Solr索引庫的查找 329
5.3.3 分類統計 333
5.3.4 高亮 335
5.3.5 同義詞 337
5.3.6 嵌入式Solr 337
5.3.7 索引分發 338
5.3.8 Solr搜索優化 341
5.4 Solritas 344
5.5 從FAST Search移植到Solr 344
5.6 簡單應用 346
5.7 Solr擴展與定製 346
5.7.1 插件 346
5.7.2 Solr中字詞混閤索引 346
5.7.3 相關檢索 348
5.7.4 搜索結果去重 350
5.7.5 定製輸入輸齣 354
5.7.6 聚類 359
5.7.7 分布式搜索 360
5.7.8 分布式索引 364
5.7.9 SolrJ查詢分析器 366
5.7.10 擴展SolrJ 375
5.7.11 擴展Solr 376
5.7.12 日文搜索 379
5.7.13 查詢Web圖 380
5.8 SolrNet 383
5.8.1 使用SolrNet實現全文搜索 383
5.8.2 實現原理 387
5.8.3 擴展SolrNet 388
5.9 Solr的其它客戶端 393
5.9.1 Solr的PHP客戶端 394
5.10 為網站增加搜索功能 397
5.11 手機客戶端 397
5.12 Solr原理 398
5.12.1 支持Solr的中文分詞 398
5.12.2 緩存技術 399
5.13 本章小結 399
第6章 地圖搜索 401
6.1 Solr 401
第7章 視頻搜索 402
第8章 垂直搜索 403
8.1 自動化網站 403
8.2 招聘行業網站 403
8.2.1 網絡爬蟲 403
8.2.2 全文中文引擎 403
8.2.3 Email地址人工添加簡易工具 404
8.2.4 職位推薦 404
8.2.5 用戶權限 404
· · · · · · (
收起)
評分
☆☆☆☆☆
正如大多数中国技术作家一样,这本厚厚的书对搜索的每部分都涉及了一点,而每部分的深度都比较浅,并且基本所有东西都可以轻易找到相关资料,作者自己对于这些技术的看法,适用范围之类的经验甚少。。总之我觉得读者看了目录就可以用搜索引擎来达到相关的学习效果了
評分
☆☆☆☆☆
搞一堆术语,本来很装逼的书... 结果,Struts2什么ajax都扯进来... 掉价... 个人认为是堆砌的书... 不值得购买... 当然....初学者嘛..还是值得看看入门的... 邮件列表更加有参考价值... 这书不专....求太广了.....就不太可能变的精...
評分
☆☆☆☆☆
对搜索引擎技术讲解的比较全面,读了之后对搜索引擎技术能了解得比较全面。同时对于Lucene的介绍也是传承了本书的特点:细致、全面。看了之后对Lucene,还有起相关的组件Solar啊等等也有了初步的认识。对于初学者还是值得读一下的。对于搜索引擎技术和Lucene能够建立起立体全面...
評分
☆☆☆☆☆
全面剖析搜索技术,但不乏深度。对搜索主流技术都做了详尽介绍,示例基于Java和LUCENE,一本不错的初中级学习书籍,也适合作为大中专院校教材。对视频搜索和语音搜索方面稍微偏少一些,希望再版有所补充。 另外,原价是69多,怎么这里是55,直接写的折扣价?
評分
☆☆☆☆☆
全面剖析搜索技术,但不乏深度。对搜索主流技术都做了详尽介绍,示例基于Java和LUCENE,一本不错的初中级学习书籍,也适合作为大中专院校教材。对视频搜索和语音搜索方面稍微偏少一些,希望再版有所补充。 另外,原价是69多,怎么这里是55,直接写的折扣价?