搜索引擎技術與發展 ( 簡體 字) |
作者:羅剛 | 類別:1. -> 程式設計 -> 搜索引擎 |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 53738 詢問書籍請說出此書號!【有庫存】 NT售價: 345 元 |
出版日:10/1/2020 |
頁數:268 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121398032 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:目前,搜索引擎技術逐漸成熟,而開源項目Lucene/Solr一直處于發展之中。本書主要介紹使用Java語言和Solr開發搜索引擎的應用。
第1章主要介紹各種類型的搜索引擎和開發搜索引擎可以借助的軟件工具;第2章主要介紹網絡爬蟲開發和數據存儲;第3章主要介紹從HTML文件中提取文本,以及從PDF、Word等非HTML文件中提取文本;第4章主要介紹Lucene中的中文分析器的原理與實現;第5章主要介紹Solr索引庫的創建與維護,以及Solr的查詢解析器;第6章主要介紹Web方式搜索結果界面的實現;第7章主要介紹如何使用SolrCloud實現分布式搜索。
本書相關的參考軟件和代碼在讀者QQ群(166015123)的共享文件中可以找到。本書介紹的一些專門的技術可以在與本書相關的QQ群中交流討論,這些技術群包括Solr技術群(301075975)、Selenium技術群(316527581)、POI Word開發技術群(592272003)、PDFBox技術群(435512716)、SpringBoot技術群(587682878)。
在此對早期合著者、合作伙伴、員工、學員、讀者,以及開源項目Lucene/Solr的開發者表示感謝。
本書可作為具體實現搜索引擎的程序員的參考用書,同時對機器學習等相關領域的研究人員也有一定的參考價值。另外,獵兔搜索技術團隊已經開發出與本書相關的培訓課程和商業軟件。 |
內容簡介:本書主要介紹如何使用Java語言開發搜索引擎,包括搜索引擎技術入門,使用Java開發網絡爬蟲,實現從文檔中提取索引內容,中文分詞的原理與實現,在Linux服務器端開發Solr應用,Spring Boot微服務框架實現的后端,以及React框架實現的前端等內容。 第1章主要介紹各種類型的搜索引擎和開發搜索引擎可以借助的軟件工具;第2章主要介紹網絡爬蟲開發和數據存儲;第3章主要介紹從HTML文件中提取文本,以及從PDF、Word等非HTML文件中提取文本;第4章主要介紹Lucene中的中文分析器的原理與實現;第5章主要介紹Solr索引庫的創建與維護,以及Solr的查詢解析器;第6章主要介紹Web方式搜索結果界面的實現;第7章主要介紹如何使用SolrCloud實現分布式搜索。 |
目錄:第1章 遍歷搜索引擎技術 1
1.1 快速上手搜索引擎 1
1.1.1 準備工作環境 1
1.1.2 生成索引 3
1.1.3 關鍵詞查詢 8
1.1.4 實現搜索界面 10
1.2 搜索語法 22
1.3 你也可以做搜索引擎 24
1.4 搜索引擎的基本技術 25
1.4.1 網絡爬蟲 25
1.4.2 全文索引結構 26
1.4.3 Solr全文檢索引擎 27
1.4.4 Nutch網絡搜索軟件 27
1.4.5 用戶界面 28
1.5 商業搜索引擎技術概述 29
1.5.1 通用搜索 30
1.5.2 垂直搜索 30
1.5.3 站內搜索 31
1.6 本章小結 32
第2章 獲得海量數據 34
2.1 自己的網絡爬蟲 34
2.1.1 使用URL訪問網絡資源 34
2.1.2 重試 37
2.1.3 網絡爬蟲的遍歷與實現 44
2.1.4 多線程爬蟲 48
2.1.5 Log4j2日志 49
2.1.6 存儲URL地址 51
2.1.7 定向采集 57
2.1.8 暗網抓取 58
2.1.9 Selenium抓取動態頁面 59
2.1.10 圖片抓取 61
2.2 數據存儲 62
2.2.1 寫入文件 63
2.2.2 Jdbi寫入數據庫 63
2.3 本地部署 66
2.4 本章小結 66
第3章 提取文檔中的文本內容 68
3.1 從HTML文件中提取文本 68
3.1.1 使用HTMLParser實現定向抓取 71
3.1.2 結構化信息提取 80
3.1.3 網頁的DOM結構 83
3.1.4 網頁去噪 85
3.1.5 正文提取 87
3.2 從非HTML文件中提取文本 92
3.2.1 PDF文件 95
3.2.2 Word文件 96
3.2.3 Rtf文件 98
3.2.4 Excel文件 98
3.2.5 PowerPoint文件 99
3.2.6 從圖片中提取文本 100
3.3 流媒體內容提取 101
3.3.1 音頻流內容提取 101
3.3.2 視頻流內容提取 102
3.4 本章小結 103
第4章 中文分詞 104
4.1 Lucene中的中文分詞 104
4.2 中文分詞的原理 105
4.3 查找詞典算法 106
4.4 句子切分 112
4.5 有限狀態機識別未登錄串 113
4.6 最大概率分詞方法 117
4.7 N元分詞方法 125
4.7.1 二元詞典 125
4.7.2 二元分詞 135
4.7.3 開發中文分析器 139
4.8 新詞發現 150
4.9 命名實體識別 152
4.9.1 人名識別 152
4.9.2 組織機構名稱識別 160
4.9.3 化學物質識別 161
4.10 詞性標注 162
4.11 平滑算法 173
4.12 地名切分 176
4.13 本章小結 182
第5章 Solr服務器端開發 183
5.1 在Linux操作系統中安裝Solr 183
5.2 創建和維護索引庫 186
5.3 索引本地硬盤上的文件 191
5.4 使用Bean索引文檔 192
5.5 更新索引庫中的索引文檔 194
5.6 刪除數據 195
5.7 檢測索引 195
5.8 查詢解析器 196
5.9 本章小結 196
第6章 用戶界面的設計與實現 197
6.1 Solr搜索接口(search代碼) 197
6.2 搜索頁面設計 198
6.2.1 用于顯示搜索結果的模板 200
6.2.2 搜索結果分頁 202
6.2.3 測試搜索結果頁 215
6.2.4 界面國際化 216
6.2.5 用于Solr的Spring Data 219
6.2.6 Spring-HATEOAS實現REST架構 221
6.3 實現搜索接口 224
6.3.1 基本查詢 224
6.3.2 布爾搜索 226
6.3.3 指定范圍搜索 226
6.3.4 搜索結果排序 227
6.4 實現聚合 228
6.5 實現相似文檔搜索 234
6.6 實現自動完成 235
6.6.1 總體結構 236
6.6.2 服務器端處理 236
6.6.3 自動完成客戶端 238
6.7 搜索日志 244
6.8 React框架 247
6.9 本章小結 251
第7章 Solr分布式搜索 252
7.1 使用Solr實現分布式搜索 252
7.1.1 使用SolrCloud 252
7.1.2 分片 254
7.1.3 管理集群 254
7.1.4 SolrCloud工作原理 255
7.1.5 ZooKeeper分布式協調器 256
7.2 Jenkins持續集成 258
7.3 本章小結 259
參考文獻 260 |
序: |