Python知識(shí)分享網(wǎng) - 專(zhuān)業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
Elasticsearch in Action, Second Edition PDF 下載
匿名網(wǎng)友發(fā)布于:2023-08-16 10:33:38
(侵權(quán)舉報(bào))
(假如點(diǎn)擊沒(méi)反應(yīng),多刷新兩次就OK!)

Elasticsearch in Action, Second Edition PDF 下載  圖1

 

 

 

資料簡(jiǎn)介:

 

本書(shū)主要展示如何使用Elasticsearch構(gòu)建可擴(kuò)展的搜索應(yīng)用程序。書(shū)中覆蓋了Elasticsearch的主要特性,從使用不同的分析器和查詢(xún)類(lèi)型進(jìn)行相關(guān)性調(diào)優(yōu),到使用聚集功能進(jìn)行實(shí)時(shí)性分析,還有地理空間搜索和文檔過(guò)濾等更多吸引人的特性。 全書(shū)共分兩個(gè)部分,*部分解釋了核心特性,內(nèi)容主要涉及Elasticsearch的介紹,數(shù)據(jù)的索引、更新和刪除,數(shù)據(jù)的搜索,數(shù)據(jù)的分析,使用相關(guān)性進(jìn)行搜索,使用聚集來(lái)探索數(shù)據(jù),文檔間的關(guān)系等;第二部分介紹每個(gè)特性工作的更多細(xì)節(jié)及其對(duì)性能和可擴(kuò)展性的影響,以便對(duì)核心功能進(jìn)行產(chǎn)品化,內(nèi)容主要涉及水平擴(kuò)展和性能提升等。此外,本書(shū)還有6個(gè)附錄(網(wǎng)上下載),提供了讀者應(yīng)該知道的特性,展示了關(guān)于地理空間搜索和聚集,如何管理Elasticsearch插件,學(xué)習(xí)在搜索結(jié)果中如何高亮查詢(xún)單詞,在生產(chǎn)環(huán)境中用來(lái)協(xié)助管理Elasticsearch的第三方的監(jiān)控工具有哪些,如何使用Percolator過(guò)濾為多個(gè)查詢(xún)匹配少量文檔,如何使用不同的建議器來(lái)實(shí)現(xiàn)自動(dòng)完成的功能。

 

資料目錄:

 

部分

第1章 Elasticsearch介紹 2

1.1 用Elasticsearch解決搜索問(wèn)題 3

1.1.1 提供快速查詢(xún) 3

1.1.2 確保結(jié)果的相關(guān)性 4

1.1.3 超越精確匹配 5

1.2 探索典型的Elasticsearch使用案例 6

1.2.1 將Elasticsearch作為主要的后端系統(tǒng) 7

1.2.2 將Elasticsearch添加到現(xiàn)有的系統(tǒng) 7

1.2.3 將Elasticsearch和現(xiàn)有工具一同使用 8

1.2.4 Elasticsearch的主要特性 10

1.2.5 擴(kuò)展Lucene的功能 10

1.2.6 在Elasticsearch中組織數(shù)據(jù) 12

1.2.7 安裝Java語(yǔ)言 12

1.2.8 下載并啟動(dòng)Elasticsearch 13

1.2.9 驗(yàn)證是否工作 14

1.3 小結(jié) 16

第2章 深入功能 17

2.1 理解邏輯設(shè)計(jì):文檔、類(lèi)型和索引 18

2.1.1 文檔 19

2.1.2 類(lèi)型 20

2.1.3 索引 21

2.2 理解物理設(shè)計(jì):節(jié)點(diǎn)和分片 21

2.2.1 創(chuàng)建擁有一個(gè)或多個(gè)節(jié)點(diǎn)的集群 22

2.2.2 理解主分片和副本分片 23

2.2.3 在集群中分發(fā)分片 25

2.2.4 分布式索引和搜索 26

2.3 索引新數(shù)據(jù) 27

2.3.1 通過(guò)cURL索引一篇文檔 28

2.3.2 創(chuàng)建索引和映射類(lèi)型 30

2.3.3 通過(guò)代碼樣例索引文檔 31

2.4 搜索并獲取數(shù)據(jù) 32

2.4.1 在哪里搜索 33

2.4.2 回復(fù)的內(nèi)容 33

2.4.3 如何搜索 36

2.4.4 通過(guò)ID獲取文檔 39

2.5 配置Elasticsearch 40

2.5.1 在elasticsearch.yml中指定集群的名稱(chēng) 40

2.5.2 通過(guò)logging.yml指定詳細(xì)日志記錄 41

2.5.3 調(diào)整JVM設(shè)置 41

2.6 在集群中加入節(jié)點(diǎn) 42

2.6.1 啟動(dòng)第二個(gè)節(jié)點(diǎn) 43

2.6.2 增加額外的節(jié)點(diǎn) 44

2.7 小結(jié) 45

第3章 索引、更新和刪除數(shù)據(jù) 47

3.1 使用映射來(lái)定義各種文檔 48

3.1.1 檢索和定義映射 49

3.1.2 擴(kuò)展現(xiàn)有的映射 50

3.2 用于定義文檔字段的核心類(lèi)型 51

3.2.1 字符串類(lèi)型 52

3.2.2 數(shù)值類(lèi)型 54

3.2.3 日期類(lèi)型 55

3.2.4 布爾類(lèi)型 56

3.3 數(shù)組和多字段 56

3.3.1 數(shù)組 56

3.3.2 多字段 57

3.4 使用預(yù)定義字段 58

3.4.1 控制如何存儲(chǔ)和搜索文檔 59

3.4.2 識(shí)別文檔 61

3.5 更新現(xiàn)有文檔 63

3.5.1 使用更新API 64

3.5.2 通過(guò)版本來(lái)實(shí)現(xiàn)并發(fā)控制 66

3.6 刪除數(shù)據(jù) 69

3.6.1 刪除文檔 70

3.6.2 刪除索引 71

3.6.3 關(guān)閉索引 72

3.6.4 重新索引樣本文檔 73

3.7 小結(jié) 73

第4章 搜索數(shù)據(jù) 74

4.1 搜索請(qǐng)求的結(jié)構(gòu) 75

4.1.1 確定搜索范圍 75

4.1.2 搜索請(qǐng)求的基本模塊 76

4.1.3 基于請(qǐng)求主體的搜索請(qǐng)求 78

4.1.4 理解回復(fù)的結(jié)構(gòu) 81

4.2 介紹查詢(xún)和過(guò)濾器DSL 82

4.2.1 match查詢(xún)和term過(guò)濾器 82

4.2.2 常用的基礎(chǔ)查詢(xún)和過(guò)濾器 85

4.2.3 match查詢(xún)和term過(guò)濾器 91

4.2.4 phrase_prefix查詢(xún) 92

4.3 組合查詢(xún)或復(fù)合查詢(xún) 93

4.3.1 bool查詢(xún) 93

4.3.2 bool過(guò)濾器 96

4.4 超越match和過(guò)濾器查詢(xún) 98

4.4.1 range查詢(xún)和過(guò)濾器 98

4.4.2 prefix查詢(xún)和過(guò)濾器 99

4.4.3 wildcard查詢(xún) 100

4.5 使用過(guò)濾器查詢(xún)字段的存在性 102

4.5.1 exists過(guò)濾器 102

4.5.2 missing過(guò)濾器 102

4.5.3 將任何查詢(xún)轉(zhuǎn)變?yōu)檫^(guò)濾器 103

4.6 為任務(wù)選擇好的查詢(xún) 104

4.7 小結(jié) 105

第5章 分析數(shù)據(jù) 106

5.1 什么是分析 106

5.1.1 字符過(guò)濾 107

5.1.2 切分為分詞 108

5.1.3 分詞過(guò)濾器 108

5.1.4 分詞索引 108

5.2 為文檔使用分析器 109

5.2.1 在索引創(chuàng)建時(shí)增加分析器 109

5.2.2 在Elasticsearch的配置中添加分析器 111

5.2.3 在映射中指定某個(gè)字段的分析器 112

5.3 使用分析API來(lái)分析文本 113

5.3.1 選擇一個(gè)分析器 114

5.3.2 通過(guò)組合即興地創(chuàng)建分析器 115

5.3.3 基于某個(gè)字段映射的分析 115

5.3.4 使用詞條向量API來(lái)學(xué)習(xí)索引詞條 116

5.4 分析器、分詞器和分詞過(guò)濾器 117

5.4.1 內(nèi)置的分析器 117

5.4.2 分詞器 119

5.4.3 分詞過(guò)濾器 122

5.5 N元語(yǔ)法、側(cè)邊N元語(yǔ)法和滑動(dòng)窗口 128

5.5.1 一元語(yǔ)法過(guò)濾器 128

5.5.2 二元語(yǔ)法過(guò)濾器 129

5.5.3 三元語(yǔ)法過(guò)濾器 129

5.5.4 設(shè)置min_gram和max_gram 129

5.5.5 側(cè)邊N元語(yǔ)法過(guò)濾器 129

5.5.6 N元語(yǔ)法的設(shè)置 130

5.5.7 滑動(dòng)窗口分詞過(guò)濾器 131

5.6 提取詞干 132

5.6.1 算法提取詞干 133

5.6.2 使用字典提取詞干 133

5.6.3 重寫(xiě)分詞過(guò)濾器的詞干提取 134

5.7 小結(jié) 134

第6章 使用相關(guān)性進(jìn)行搜索 136

6.1 Elasticsearch的打分機(jī)制 137

6.1.1 文檔打分是如何運(yùn)作的 137

6.1.2 詞頻 137

6.1.3 逆文檔頻率 138

6.1.4 Lucene評(píng)分公式 138

6.2 其他打分方法 139

6.3 boosting 141

6.3.1 索引期間的boosting 142

6.3.2 查詢(xún)期間的boosting 142

6.3.3 跨越多個(gè)字段的查詢(xún) 143

6.4 使用“解釋”來(lái)理解文檔是如何被評(píng)分的 144

6.5 使用查詢(xún)?cè)俅蚍謥?lái)減小評(píng)分操作的性能影響 147

6.6 使用function_score來(lái)定制得分 148

6.6.1 weight函數(shù) 149

6.6.2 合并得分 150

6.6.3 field_value_factor函數(shù) 151

6.6.4 腳本 152

6.6.5 隨機(jī) 152

6.6.6 衰減函數(shù) 153

6.6.7 配置選項(xiàng) 155

6.7 嘗試一起使用它們吧 156

6.8 使用腳本來(lái)排序 157

6.9 字段數(shù)據(jù) 158

6.9.1 字段數(shù)據(jù)緩存 158

6.9.2 字段數(shù)據(jù)用在哪里 159

6.9.3 管理字段數(shù)據(jù) 160

6.10 小結(jié) 163

第7章 使用聚集來(lái)探索數(shù)據(jù) 164

7.1 理解聚集的具體結(jié)構(gòu) 166

7.1.1 理解聚集請(qǐng)求的結(jié)構(gòu) 166

7.1.2 運(yùn)行在查詢(xún)結(jié)果上的聚集 168

7.1.3 過(guò)濾器和聚集 169

7.2 度量聚集 170

7.2.1 統(tǒng)計(jì)數(shù)據(jù) 171

7.2.2 高級(jí)統(tǒng)計(jì) 172

7.2.3 近似統(tǒng)計(jì) 173

7.3 多桶型聚集 176

7.3.1 terms聚集 177

7.3.2 range聚集 183

7.3.3 histogram聚集 185

7.4 嵌套聚集 187

7.4.1 嵌套多桶聚集 189

7.4.2 通過(guò)嵌套聚集獲得結(jié)果分組 190

7.4.3 使用單桶聚集 192

7.5 小結(jié) 196

第8章 文檔間的關(guān)系 197

8.1 定義文檔間關(guān)系的選項(xiàng)概覽 197

8.1.1 對(duì)象類(lèi)型 198

8.1.2 嵌套類(lèi)型 200

8.1.3 父子關(guān)系 200

8.1.4 反規(guī)范化 200

8.2 將對(duì)象作為字段值 202

8.2.1 映射和索引對(duì)象 203

8.2.2 在對(duì)象中搜索 204

8.3 嵌套類(lèi)型:聯(lián)結(jié)嵌套的文檔 206

8.3.1 映射并索引嵌套文檔 207

8.3.2 搜索和聚集嵌套文檔 210

8.4 父子關(guān)系:關(guān)聯(lián)分隔的文檔 216

8.4.1 子文檔的索引、更新和刪除 218

8.4.2 在父文檔和子文檔中搜索 220

8.5 反規(guī)范化:使用冗余的數(shù)據(jù)管理 227

8.5.1 反規(guī)范化的使用案例 228

8.5.2 索引、更新和刪除反規(guī)范化的數(shù)據(jù) 230

8.5.3 查詢(xún)反規(guī)范化的數(shù)據(jù) 233

8.6 應(yīng)用端的連接 234

8.7 小結(jié) 235

第二部分

第9章 向外擴(kuò)展 238

9.1 向Elasticsearch集群加入節(jié)點(diǎn) 238

9.2 發(fā)現(xiàn)其他Elasticsearch節(jié)點(diǎn) 241

9.2.1 通過(guò)廣播來(lái)發(fā)現(xiàn) 241

9.2.2 通過(guò)單播來(lái)發(fā)現(xiàn) 242

9.2.3 選舉主節(jié)點(diǎn)和識(shí)別錯(cuò)誤 243

9.2.4 錯(cuò)誤的識(shí)別 244

9.3 刪除集群中的節(jié)點(diǎn) 245

9.4 升級(jí)Elasticsearch的節(jié)點(diǎn) 250

9.4.1 進(jìn)行輪流重啟 250

9.4.2 小化重啟后的恢復(fù)時(shí)間 251

9.5 使用_cat API 252

9.6 擴(kuò)展策略 254

9.6.1 過(guò)度分片 254

9.6.2 將數(shù)據(jù)切分為索引和分片 255

9.6.3 化吞吐量 256

9.7 別名 257

9.7.1 什么是別名 258

9.7.2 別名的創(chuàng)建 259

9.8 路由 261

9.8.1 為什么使用路由 261

9.8.2 路由策略 262

9.8.3 使用_search_shards API來(lái)決定搜索在哪里執(zhí)行 263

9.8.4 配置路由 265

9.8.5 結(jié)合路由和別名 265

9.9 小結(jié) 267

第10章 提升性能 268

10.1 合并請(qǐng)求 269

10.1.1 批量索引、更新和 刪除 269

10.1.2 多條搜索和多條獲取 API接口 273

10.2 優(yōu)化Lucene分段的 處理 276

10.2.1 刷新和沖刷的閾值 276

10.2.2 合并以及合并策略 279

10.2.3 存儲(chǔ)和存儲(chǔ)限流 282

10.3 充分利用緩存 285

10.3.1 過(guò)濾器和過(guò)濾器 緩存 285

10.3.2 分片查詢(xún)緩存 291

10.3.3 JVM堆和操作系統(tǒng) 緩存 293

10.3.4 使用預(yù)熱器讓緩存 熱身 296

10.4 其他的性能權(quán)衡 297

10.4.1 大規(guī)模的索引還是 昂貴的搜索 298

10.4.2 調(diào)優(yōu)腳本,要么 別用它 301

10.4.3 權(quán)衡網(wǎng)絡(luò)開(kāi)銷(xiāo),更少的 數(shù)據(jù)和更好的分布式 得分 305

10.4.4 權(quán)衡內(nèi)存,進(jìn)行深度 分頁(yè) 308

10.5 小結(jié) 310

第11章 管理集群 311

11.1 改善默認(rèn)的配置 311

11.1.1 索引模板 312

11.1.2 默認(rèn)的映射 315

11.2 分配的感知 318

11.2.1 基于分片的分配 318

11.2.2 強(qiáng)制性的分配感知 319

11.3 監(jiān)控瓶頸 320

11.3.1 檢查集群的健康 狀態(tài) 320

11.3.2 CPU:慢日志、熱線程和 線程池 322

11.3.3 內(nèi)存:堆的大小、字段和 過(guò)濾器緩存 326

11.3.4 操作系統(tǒng)緩存 330

11.3.5 存儲(chǔ)限流 330

11.4 備份你的數(shù)據(jù) 331

11.4.1 快照API 331

11.4.2 將數(shù)據(jù)備份到共享的文件系統(tǒng) 332

11.4.3 從備份中恢復(fù) 335

11.4.4 使用資料庫(kù)插件 336

11.5 小結(jié) 337

附錄A 處理地理空間的數(shù)據(jù)(網(wǎng)上下載)

附錄B 插件(網(wǎng)上下載)

附錄C 高亮(網(wǎng)上下載)

附錄D Elasticsearch的監(jiān)控插件(網(wǎng)上下載)

附錄E 使用滲濾器將搜索顛倒過(guò)來(lái)(網(wǎng)上下載)

附錄F 為自動(dòng)完成和“您是指”功能使用建議器(網(wǎng)上下載)