内容简介
本书介绍了Elasticsearch这个优秀的全文检索和分析引擎从安装和配置到集群管理的各方面知识。本书这一版不仅补充了上一版中遗漏的重要内容,并且所有示例和功能均基于Elasticsearch服务器1.0版进行了更新。你可以从头开始循序渐进地学习本书,也可以查阅具体功能解决手头问题。
目录
- 第1章Elasticsearch集群入门1
- 1.1全文检索1
- 1.1.1Lucene词汇表和架构1
- 1.1.2输入数据分析3
- 1.1.3评分和查询相关性4
- 1.2Elasticsearch基础4
- 1.2.1数据架构的主要概念4
- 1.2.2Elasticsearch主要概念6
- 1.2.3索引建立和搜索6
- 1.3安装并配置集群8
- 1.3.1安装Java8
- 1.3.2安装Elasticsearch8
- 1.3.3在Linux上用二进制包安装Elasticsearch9
- 1.3.4目录布局9
- 1.3.5配置Elasticsearch10
- 1.3.6运行Elasticsearch11
- 1.3.7关掉Elasticsearch12
- 1.3.8Elasticsearch作为系统服务运行13
- 1.4用RESTAPI操作数据14
- 1.4.1理解Elasticsearch的RESTfulAPI14
- 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.2URI请求20
- 1.5.3Lucene查询语法26
- 1.6小结27
- 第2章索引28
- 2.1Elasticsearch索引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查询Elasticsearch64
- 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搜索分片API75
- 3.3基本查询76
- 3.3.1词条查询76
- 3.3.2多词条查询77
- 3.3.3match_all查询77
- 3.3.4常用词查询78
- 3.3.5match查询79
- 3.3.6multi_match查询81
- 3.3.7query_string查询82
- 3.3.8simple_query_string查询84
- 3.3.9标识符查询84
- 3.3.10前缀查询84
- 3.3.11fuzzy_like_this查询85
- 3.3.12fuzzy_like_this_field查询86
- 3.3.13fuzzy查询86
- 3.3.14通配符查询88
- 3.3.15more_like_this查询88
- 3.3.16more_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.3constant_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.1ApacheLucene评分简介138
- 5.1.1当文档被匹配时138
- 5.1.2默认评分公式139
- 5.1.3相关性的意义140
- 5.2Elasticsearch的脚本功能140
- 5.2.1脚本执行过程中可用的对象140
- 5.2.2MVEL141
- 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.5terms切面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.3term建议器203
- 6.3.4phrase建议器204
- 6.3.5completion建议器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卷动API226
- 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.1Elasticsearch时光机248
- 8.1.1创建快照存储库248
- 8.1.2创建快照249
- 8.1.3还原快照251
- 8.1.4清理:删除旧的快照252
- 8.2监控集群的状态和健康度252
- 8.2.1集群健康度API252
- 8.2.2索引统计API253
- 8.2.3状态API256
- 8.2.4节点信息API256
- 8.2.5节点统计API257
- 8.2.6集群状态API257
- 8.2.7挂起任务API258
- 8.2.8索引段API258
- 8.2.9catAPI258
- 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.7Elasticsearch插件274
- 8.7.1基础知识274
- 8.7.2安装插件274
- 8.7.3移除插件275
- 8.8更新设置API275
- 8.9小结276
内容基本上以ES官方网站的参考指南为主,对于ES入门者帮助挺大,比如我。要想深入研究ES具体原理,此书不宜。另,该书是以ES 0.20版本写成,现在ES已经升级了一些新的功能。
还不错,主要从ES外围展开,适合一个已经上手,想从使用上更进一步熟悉ES的用户非常适合。有比较详尽的ES 功能介绍。收货不少。