日韩偷拍一区二区,国产香蕉久久精品综合网,亚洲激情五月婷婷,欧美日韩国产不卡

在線客服
從Lucene到Elasticsearch:全文檢索實戰圖書
人氣:28

從Lucene到Elasticsearch:全文檢索實戰

大數據時代的信息檢索技術

內容簡介

本書循序漸進介紹了信息檢索、布爾檢索、向量空間模型、tf-idf、BM25排序算法、Lucene架構、Lucene創建索引、Lucene查詢、Lucene項目實戰、Elasticsearch安裝與配置、Elasticsearch插件安裝、REST API數據操作、映射與模板、索引別名、Elasticsearch基本和高級搜索、Elasticsearch同步數據庫、Elasticsearch集群管理、項目實戰等內容。閱讀本書,讀者能夠掌握信息檢索的核心概念,應用Lucene庫處理全文檢索業務,掌握Elasticsearch分布式搜索引擎的使用方法與技巧。 本書基于Lucene 6.0和Elasticsearch 5.4.0進行講解,技術先進,示例豐富,適合想學習信息檢索技術的初學者和相關專業的大學生、研究生學習,也很適合大數據及云計算平臺構建人員以及有一定基礎的IT開發人員使用。

編輯推薦

騰訊、阿里巴巴、百度、等諸多一線互聯網公司正大力推進Elasticsearch的使用場景,本書以豐富的實例著重介紹了Elasticsearch的方方面面,可幫助讀者快速應用Lucene庫處理全文檢索業務,掌握使用Elasticsearch搭建分布式搜索引擎的方法與技巧。

本書是編者在信息檢索、Lucene和Elasticsearch學習、實際項目實踐過程中的心得體會和經驗總結。本書從原理到實踐,涉及的內容包括信息檢索的核心概念、Lucene架構、使用Lucene創建索引和索引查詢、Elasticsearch入門、Elasticsearch基本搜索、Elasticsearch高級搜索、Elasticsearch Java API、Elasticsearch同步數據庫、Elasticsearch集群管理、Lucene與Elasticsearch項目實戰等。

針對初級開發者,可以通過本書提供的眾多實例入手,循序漸進,由點到面地進行學習;另外,本書的每個實例都提供了可執行程序與詳盡的代碼注解,從而有效降低學習門檻,提高學習效率。

對于有編程經驗的開發者通過學習本書,可以用Lucene和Elasticsearch解決工作中的問題,增強業務處理能力,實現獨立開發信息檢索系統的目標。

作者簡介

姚攀:中國科學院大學碩士,擅長j2ee開發,對搜索引擎技術有濃厚的興趣和較深入研究,有豐富的Lucene和ElasticSearch開發經歷和項目經驗,活躍于CSDN社區,目前在一家公司做ES搜索業務開發。

目錄

目 錄

第1章 信息檢索模型 1

1.1 信息檢索概述 1

1.1.1 信息過載 1

1.1.2 信息檢索定義 2

1.1.3 信息檢索常用術語 3

1.1.4 信息檢索系統 4

1.2 分詞算法 5

1.2.1 分詞算法概述 5

1.2.2 詞典匹配分詞法 6

1.2.3 語義理解分詞法 6

1.2.4 詞頻統計分詞法 7

1.3 倒排索引 7

1.4 布爾檢索模型 9

1.5 tf-idf權重計算 11

1.6 向量空間模型 13

1.7 概率檢索模型 16

1.7.1 貝葉斯決策理論 17

1.7.2 二值獨立模型 18

1.7.3 Okapi BM25模型 20

1.7.4 BM25F模型 20

1.8 本章小結 21

第2章 Lucene開發入門 22

2.1 Lucene概述 22

2.1.1 Lucene簡介 22

2.1.2 Lucene特點 22

2.1.3 Lucene架構 23

2.2 Lucene開發準備 25

2.2.1 下載Lucene文件庫 25

2.2.2 工程中引入Lucene 26

2.2.3 下載Luke 27

2.2.4 下載IK分詞工具 28

2.2.5 工程搭建 29

2.3 Lucene分詞詳解 30

2.3.1 Lucene分詞系統 30

2.3.2 分詞器測試 31

2.3.3 IK分詞器配置 34

2.3.4 中文分詞器對比 36

2.3.5 擴展停用詞詞典 38

2.3.6 擴展自定義詞典 38

2.4 Lucene索引詳解 40

2.4.1 Lucene字段類型 40

2.4.2 索引文檔示例 41

2.4.3 Luke中查看索引 46

2.4.4 索引的刪除 48

2.4.5 索引的更新 49

2.5 Lucene查詢詳解 50

2.5.1 搜索入門 51

2.5.2 多域搜索(MultiFieldQueryParser) 52

2.5.3 詞項搜索(TermQuery) 53

2.5.4 布爾搜索(BooleanQuery) 53

2.5.5 范圍搜索(RangeQuery) 54

2.5.6 前綴搜索(PrefixQuery) 55

2.5.7 多關鍵字搜索(PhraseQuery) 55

2.5.8 模糊搜索(FuzzyQuery) 55

2.5.9 通配符搜索(WildcardQuery) 56

2.6 Lucene查詢高亮 56

2.7 Lucene新聞高頻詞提取 58

2.7.1 問題提出 58

2.7.2 需求分析 58

2.7.3 編程實現 58

2.8 本章小結 61

第3章 Lucene文件檢索項目實戰 62

3.1 需求分析 62

3.2 架構設計 63

3.3 文本內容抽取 64

3.3.1 Tika簡介 64

3.3.2 Tika下載 64

3.3.3 搭建工程 65

3.3.4 內容抽取 66

3.3.5 自動解析 68

3.4 工程搭建 71

3.5 索引文檔 72

3.6 查詢界面 75

3.7 文件檢索 77

3.8 結果展示 80

3.9 本章小結 85

第4章 從Lucene到Elasticsearch 86

4.1 Elasticsearch概述 86

4.1.1 誕生過程 86

4.1.2 流行度分析 88

4.1.3 架構解讀 89

4.1.4 優點 89

4.1.5 應用場景 90

4.1.6 核心概念 92

4.1.7 對比RDMS 94

4.1.8 文檔結構 94

4.2 安裝Elasticsearch 95

4.2.1 安裝Java 96

4.2.2 下載Elasticsearch 97

4.2.3 啟動Elasticsearch 97

4.2.4 后臺運行Elasticsearch 99

4.2.5 關閉Elasticsearch 99

4.2.6 基本配置 100

4.3 中文分詞器配置 101

4.3.1 IK分詞器安裝 101

4.3.2 擴展本地詞庫 102

4.3.3 配置遠程詞庫 103

4.4 Head插件使用指南 105

4.4.1 Head插件的安裝 105

4.4.2 Head插件的使用 107

4.5 REST命令 109

4.5.1 CURL工具 110

4.5.2 Kibana Dev Tools 111

4.6 本章小結 112

第5章 Elasticsearch集群入門 113

5.1 索引管理 113

5.1.1 新建索引 113

5.1.2 更新副本 115

5.1.3 讀寫權限 115

5.1.4 查看索引 116

5.1.5 刪除索引 117

5.1.6 索引的打開與關閉 118

5.1.7 復制索引 118

5.1.8 收縮索引 119

5.1.9 索引別名 120

5.2 文檔管理 123

5.2.1 新建文檔 123

5.2.2 獲取文檔 125

5.2.3 更新文檔 127

5.2.4 查詢更新 129

5.2.5 刪除文檔 129

5.2.6 查詢刪除 130

5.2.7 批量操作 130

5.2.8 版本控制 133

5.2.9 路由機制 136

5.3 映射詳解 137

5.3.1 映射分類 137

5.3.2 動態映射 138

5.3.3 日期檢測 140

5.3.4 靜態映射 141

5.3.5 字段類型 142

5.3.6 元字段 156

5.3.7 映射參數 162

5.3.8 映射模板 180

5.4 本章小結 181

第6章 Elasticsearch搜索詳解 182

6.1 搜索機制 182

6.2 全文查詢 188

6.2.1 match query 188

6.2.2 match_phrase query 190

6.2.3 match_phrase_prefix query 190

6.2.4 multi_match query 190

6.2.5 common_terms query 191

6.2.6 query_string query 193

6.2.7 simple_query_string 193

6.3 詞項查詢 193

6.3.1 term query 193

6.3.2 terms query 193

6.3.3 range query 194

6.3.4 exists query 194

6.3.5 prefix query 195

6.3.6 wildcard query 195

6.3.7 regexp query 196

6.3.8 fuzzy query 196

6.3.9 type query 196

6.3.10 ids query 197

6.4 復合查詢 197

6.4.1 constant_score query 197

6.4.2 bool query 198

6.4.3 dis_max query 198

6.4.4 function_score query 199

6.4.5 boosting query 200

6.4.6 indices query 201

6.5 嵌套查詢 202

6.5.1 nested query 202

6.5.2 has_child query 202

6.5.3 has_parent query 204

6.6 位置查詢 205

6.6.1 geo_distance query 206

6.6.2 geo_bounding_box query 206

6.6.3 geo_polygon query 208

6.6.4 geo_shape query 209

6.7 特殊查詢 210

6.7.1 more_like_this query 210

6.7.2 script query 211

6.7.3 percolate query 211

6.8 搜索高亮 213

6.8.1 自定義高亮片段 213

6.8.2 多字段高亮 213

6.8.3 高亮性能分析 214

6.9 搜索排序 215

6.9.1 默認排序 215

6.9.2 多字段排序 215

6.9.3 分片影響評分 216

6.10 本章小結 218

第7章 聚合分析 219

7.1 指標聚合 219

7.1.1 Max Aggregation 219

7.1.2 Min Aggregation 220

7.1.3 Avg Aggregation 220

7.1.4 Sum Aggregation 221

7.1.5 Cardinality Aggregation 221

7.1.6 Stats Aggregation 222

7.1.7 Extended Stats Aggregation 222

7.1.8 Percentiles Aggregation 223

7.1.9 Value Count Aggregation 224

7.2 桶聚合 224

7.2.1 Terms Aggregation 225

7.2.2 Filter Aggregation 227

7.2.3 Filters Aggregation 227

7.2.4 Range Aggregation 228

7.2.5 Date Range Aggregation 231

7.2.6 Date Histogram Aggregation 232

7.2.7 Missing Aggregation 233

7.2.8 Children Aggregation 233

7.2.9 Geo Distance Aggregation 234

7.2.10 IP Range Aggregation 235

7.3 本章小結 236

第8章 Elasticsearch Java API 237

8.1 Java API簡介 237

8.2 Maven依賴 238

8.3 依賴沖突 240

8.4 連接到集群 240

8.4.1 傳輸機連接 241

8.4.2 節點連接 241

8.4.3 代碼實現 241

8.5 索引管理 243

8.6 文檔管理 246

8.6.1 新建文檔 246

8.6.2 獲取文檔 249

8.6.3 刪除文檔 250

8.6.4 更新文檔 250

8.6.5 查詢刪除 252

8.6.6 批量獲取 252

8.6.7 批量操作 253

8.7 搜索詳解 254

8.7.1 全文查詢 257

8.7.2 詞項查詢 257

8.7.3 復合查詢 258

8.7.4 嵌套查詢 260

8.7.5 位置查詢 260

8.7.6 特殊查詢 261

8.8 聚合分析 262

8.8.1 指標聚合 263

8.8.2 桶聚合 265

8.9 集群管理 269

8.10 本章小結 269

第9章 集群管理 270

9.1 集群規劃 270

9.2 索引規劃 272

9.3 分布式集群 273

9.4 Cat API 275

9.4.1 cat aliases 275

9.4.2 cat allocation 275

9.4.3 cat count 275

9.4.4 cat fielddata 276

9.4.5 cat health 276

9.4.6 cat indices 276

9.4.7 cat master 276

9.4.8 cat nodeattrs 277

9.4.9 cat nodes 277

9.4.10 cat pending tasks 277

9.4.11 cat plugins 277

9.4.12 cat recovery 278

9.4.13 cat repositories 278

9.4.14 cat thread pool 278

9.4.15 cat shards 278

9.4.16 cat segments 279

9.4.17 cat templates 279

9.5 Cluster API 279

9.5.1 Cluster Health 279

9.5.2 Cluster State 281

9.5.3 Cluster Stats 282

9.5.4 Pending Cluster Tasks 282

9.5.5 Cluster Reroute 282

9.5.6 Cluster Update Settings 283

9.5.7 Nodes Stats 283

9.5.8 Nodes Info 283

9.5.9 Task Management API 284

9.5.10 Cluster Allocation Explain API 284

9.6 監控插件 284

9.7 本章小結 286

第10章 新聞搜索項目實戰 287

10.1 需求分析 287

10.2 數據準備 288

10.3 數據導入 290

10.4 查詢界面 294

10.5 搜索新聞 296

10.6 結果展示 298

10.7 本章小結 302

第11章 Elasticsearch For Hadoop 303

11.1 Hadoop基礎 304

11.1.1 SSH配置 304

11.1.2 Hadoop下載 305

11.1.3 Hadoop單機模式 305

11.1.4 Hadoop偽分布式模式 306

11.1.5 HDFS常用操作 309

11.2 ES-Hadoop安裝 310

11.2.1 壓縮包下載 310

11.2.2 Maven依賴 310

11.3 從HDFS到Elasticsearch 311

11.3.1 測試數據 311

11.3.2 編寫程序 312

11.3.3 代碼分析 313

11.4 從Elasticsearch到HDFS 314

11.4.1 讀取索引到HDFS 314

11.4.2 查詢Elasticsearch寫入HDFS 315

11.5 本章小結 316

參考文獻 317

網友評論(不代表本站觀點)

免責聲明

更多出版社
主站蜘蛛池模板: 全椒县| 连平县| 上虞市| 泽库县| 阿拉善盟| 呼图壁县| 铅山县| 钟山县| 睢宁县| 黄梅县| 徐水县| 静海县| 万州区| 香港 | 庆安县| 石家庄市| 井冈山市| 丹棱县| 高阳县| 航空| 雅江县| 台中县| 防城港市| 阿城市| 霍林郭勒市| 新营市| 观塘区| 于都县| 灯塔市| 类乌齐县| 南召县| 岗巴县| 青岛市| 孝昌县| 冷水江市| 凤城市| 阳朔县| 潼南县| 中方县| 柳河县| 开鲁县|