第1 章 Elasticsearch集群入門 1
1.1 全文檢索 1
1.1.1 Lucene詞匯錶和架構 1
1.1.2 輸入數據分析 3
1.1.3 評分和查詢相關性 4
1.2 Elasticsearch基礎 4
1.2.1 數據架構的主要概念 4
1.2.2 Elasticsearch主要概念 6
1.2.3 索引建立和搜索 6
1.3 安裝並配置集群 8
1.3.1 安裝Java 8
1.3.2 安裝Elasticsearch 8
1.3.3 在Linux 上用二進製包安裝Elasticsearch 9
1.3.4 目錄布局 9
1.3.5 配置Elasticsearch 10
1.3.6 運行Elasticsearch 11
1.3.7 關掉Elasticsearch 12
1.3.8 Elasticsearch作為係統服務運行 13
1.4 用REST API操作數據 14
1.4.1 理解Elasticsearch的RESTfulAPI 14
1.4.2 在Elasticsearch中存儲數據 15
1.4.3 新建文檔 15
1.4.4 檢索文檔 16
1.4.5 更新文檔 17
1.4.6 刪除文檔 18
1.4.7 版本控製 18
1.5 使用URI請求查詢來搜索 20
1.5.1 示例數據 20
1.5.2 URI 請求 20
1.5.3 Lucene查詢語法 26
1.6 小結 27
第2 章 索引 28
2.1 Elasticsearch索引 28
2.1.1 分片和副本 28
2.1.2 創建索引 29
2.2 映射配置 31
2.2.1 類型確定機製 31
2.2.2 索引結構映射 33
2.2.3 不同的相似度模型 43
2.2.4 信息格式 45
2.2.5 文檔值 47
2.3 批量索引以提高索引速度 48
2.3.1 為批量索引準備數據 48
2.3.2 索引數據 48
2.3.3 更快的批量請求 50
2.4 用附加的內部信息擴展索引結構 50
2.4.1 標識符字段 50
2.4.2 _type字段 51
2.4.3 _all字段 52
2.4.4 _source字段 52
2.4.5 _index字段 53
2.4.6 _size字段 54
2.4.7 _timestamp字段 54
2.4.8 _ttl字段 55
2.5 段閤並介紹 56
2.5.1 段閤並 56
2.5.2 段閤並的必要性 56
2.5.3 閤並策略 57
2.5.4 閤並調度器 57
2.5.5 閤並因子 57
2.5.6 調節 58
2.6 路由介紹 58
2.6.1 默認索引過程 59
2.6.2 默認搜索過程 59
2.6.3 路由 61
2.6.4 路由參數 62
2.6.5 路由字段 62
2.7 小結 63
第3 章 搜索 64
3.1 查詢Elasticsearch 64
3.1.1 示例數據 65
3.1.2 簡單查詢 66
3.1.3 分頁和結果集大小 67
3.1.4 返迴版本值 68
3.1.5 限製得分 69
3.1.6 選擇需要返迴的字段 69
3.1.7 使用腳本字段 71
3.2 理解查詢過程 72
3.2.1 查詢邏輯 72
3.2.2 搜索類型 73
3.2.3 搜索執行偏好 74
3.2.4 搜索分片API 75
3.3 基本查詢 76
3.3.1 詞條查詢 76
3.3.2 多詞條查詢 77
3.3.3 match_all查詢 77
3.3.4 常用詞查詢 78
3.3.5 match查詢 79
3.3.6 multi_match查詢 81
3.3.7 query_string查詢 82
3.3.8 simple_query_string查詢 84
3.3.9 標識符查詢 84
3.3.10 前綴查詢 84
3.3.11 fuzzy_like_this查詢 85
3.3.12 fuzzy_like_this_field查詢 86
3.3.13 fuzzy 查詢 86
3.3.14 通配符查詢 88
3.3.15 more_like_this查詢 88
3.3.16 more_like_this_filed查詢 89
3.3.17 範圍查詢 90
3.3.18 最大分查詢 90
3.3.19 正則錶達式查詢 91
3.4 復閤查詢 91
3.4.1 布爾查詢 92
3.4.2 加權查詢 93
3.4.3 constant_score查詢 94
3.4.4 索引查詢 94
3.5 查詢結果的過濾 95
3.5.1 使用過濾器 95
3.5.2 過濾器類型 96
3.5.3 過濾器的緩存 104
3.6 高亮顯示 105
3.6.1 高亮顯示入門 105
3.6.2 字段配置 106
3.6.3 深入底層 107
3.6.4 配置HTML標簽 107
3.6.5 控製高亮片段 108
3.6.6 全局設置與局部設置 108
3.6.7 需要匹配 109
3.6.8 信息高亮器 111
3.7 驗證查詢 113
3.8 數據排序 115
3.8.1 默認排序 115
3.8.2 選擇用於排序的字段 116
3.8.3 指定缺少字段的行為 118
3.8.4 動態條件 118
3.8.5 排序規則和國傢特有字符 119
3.9 查詢重寫 119
3.9.1 重寫過程示例 119
3.9.2 查詢重寫的屬性 120
3.10 小結 121
第4 章 擴展索引結構 122
4.1 索引樹形結構 122
4.1.1 數據結構 122
4.1.2 分析 123
4.2 索引非扁平數據 124
4.2.1 數據 124
4.2.2 對象 125
4.2.3 數組 125
4.2.4 映射 125
4.2.5 嚮Elasticsearch發送映射 127
4.2.6 動態還是非動態 127
4.3 使用嵌套對象 128
4.4 使用父子關係 131
4.4.1 索引結構和數據索引 131
4.4.2 查詢 132
4.4.3 父子關係和過濾 134
4.4.4 性能考慮 134
4.5 使用更新API修改索引結構 135
4.5.1 映射 135
4.5.2 添加一個新字段 135
4.5.3 修改字段 136
4.6 小結 137
第5 章 更好的搜索 138
5.1 Apache Lucene評分簡介 138
5.1.1 當文檔被匹配時 138
5.1.2 默認評分公式 139
5.1.3 相關性的意義 140
5.2 Elasticsearch的腳本功能 140
5.2.1 腳本執行過程中可用的對象 140
5.2.2 MVEL 141
5.2.3 使用其他語言 141
5.2.4 使用自定義腳本庫 142
5.3 搜索不同語言的內容 145
5.3.1 區分處理不同語言 145
5.3.2 多語言處理 145
5.3.3 檢測文檔的語言 146
5.3.4 示例文檔 146
5.3.5 映射文件 147
5.3.6 查詢 148
5.4 使用查詢加權影響得分 150
5.4.1 加權 150
5.4.2 為查詢添加加權 150
5.4.3 修改得分 153
5.5 索引時加權何時有意義 160
5.5.1 在輸入數據中定義字段加權 160
5.5.2 在映射中定義加權 161
5.6 同義詞 161
5.6.1 同義詞過濾器 161
5.6.2 定義同義詞規則 162
5.6.3 查詢時或索引時的同義詞擴展 164
5.7 理解解釋信息 164
5.7.1 理解字段分析 164
5.7.2 解釋查詢 165
5.8 小結 167
第6 章 超越全文檢索 168
6.1 聚閤 168
6.1.1 一般查詢結構 168
6.1.2 可用的聚閤 170
6.1.3 聚閤的嵌套 185
6.1.4 桶排序和嵌套聚閤 187
6.1.5 全局和子集 187
6.2 切麵 190
6.2.1 文檔結構 190
6.2.2 返迴的結果 190
6.2.3 使用查詢進行切麵計算 191
6.2.4 使用過濾器進行切麵計算 192
6.2.5 terms切麵 193
6.2.6 基於範圍的切麵 194
6.2.7 數值和日期直方圖切麵 196
6.2.8 數值型字段統計數據的計算 197
6.2.9 詞條統計數據的計算 198
6.2.10 地理切麵 199
6.2.11 切麵結果的過濾 200
6.2.12 內存考慮 201
6.3 使用建議器 201
6.3.1 可用的建議器類型 201
6.3.2 包含建議器 201
6.3.3 term建議器 203
6.3.4 phrase建議器 204
6.3.5 completion建議器 205
6.4 預匹配器 209
6.4.1 示例索引 209
6.4.2 預匹配器的準備 209
6.4.3 深入 211
6.5 文件的處理 214
6.6 地理 217
6.6.1 為空間搜索準備映射 217
6.6.2 示例數據 218
6.6.3 示例查詢 218
6.6.4 任意地理形狀 222
6.7 捲動API 226
6.7.1 問題定義 226
6.7.2 作為解決方案的捲動 226
6.8 多詞條過濾器 228
6.9 小結 232
第7 章 深入Elasticsearch集群 233
7.1 節點發現 233
7.1.1 發現的類型 233
7.1.2 主節點 234
7.1.3 設置集群名 235
7.1.4 節點的ping設置 236
7.2 時光之門與恢復模塊 236
7.2.1 時光之門 236
7.2.2 恢復控製 237
7.3 為高查詢和高索引吞吐量準備Elasticsearch集群 238
7.3.1 過濾器緩存 238
7.3.2 字段數據緩存和斷路器 238
7.3.3 存儲模塊 239
7.3.4 索引緩衝和刷新率 240
7.3.5 綫程池的配置 240
7.3.6 結閤起來,一些通用建議 241
7.4 模闆和動態模闆 244
7.4.1 模闆 244
7.4.2 動態模闆 245
7.5 小結 246
第8 章 集群管理 248
8.1 Elasticsearch時光機 248
8.1.1 創建快照存儲庫 248
8.1.2 創建快照 249
8.1.3 還原快照 251
8.1.4 清理:刪除舊的快照 252
8.2 監控集群的狀態和健康度 252
8.2.1 集群健康度API 252
8.2.2 索引統計API 253
8.2.3 狀態API 256
8.2.4 節點信息API 256
8.2.5 節點統計API 257
8.2.6 集群狀態API 257
8.2.7 掛起任務API 258
8.2.8 索引段API 258
8.2.9 cat API 258
8.3 控製集群的再平衡 260
8.3.1 再平衡 260
8.3.2 集群的就緒 260
8.3.3 集群再平衡設置 260
8.4 控製分片和副本的分配 261
8.4.1 顯式控製分配 262
8.4.2 集群範圍的分配 264
8.4.3 每個節點上的分片和副本數量 265
8.4.4 手動移動分片和副本 265
8.5 預熱 267
8.5.1 定義一個新的預熱查詢 267
8.5.2 獲取定義的預熱查詢 268
8.5.3 刪除一個預熱查詢 269
8.5.4 禁用預熱功能 269
8.5.5 查詢的選擇 270
8.6 使用索引彆名來簡化你的日常工作 270
8.6.1 彆名 271
8.6.2 創建彆名 271
8.6.3 修改彆名 271
8.6.4 閤並命令 272
8.6.5 獲取所有彆名 272
8.6.6 移除彆名 273
8.6.7 彆名中的過濾 273
8.6.8 彆名和路由 273
8.7 Elasticsearch插件 274
8.7.1 基礎知識 274
8.7.2 安裝插件 274
8.7.3 移除插件 275
8.8 更新設置API 275
8.9 小結 276
· · · · · · (
收起)