热点推荐

查看: 5688|回复: 12

ElasticSearch:可扩展的开源弹性搜索解决方案

[复制链接]

1418

主题

1532

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
39191
发表于 2018-2-4 12:41:00 | 显示全部楼层 |阅读模式




内容简介  · · · · · ·

《ElasticSearch:可扩展的开源弹性搜索解决方案》基于ElasticSearch 的0.2 版本,覆盖了ElasticSearch 各种功能和命令的应用,全面、详细地介绍了开源、分布式、RESTful,具有全文检索功能的搜索引擎ElasticSearch。《ElasticSearch:可扩展的开源弹性搜索解决方案》前两章着重介绍了ElasticSearch 的基本功能和用法,包括ElasticSearch 的安装和配置、REST API 的使用方法,以及怎样使用Query DSL 语句进行查询、过滤、排序等。接下来的4 章是对ElasticSearch 基本功能的扩展,主要介绍了如何使用统计功能来计算查询返回结果的聚集数据、如何实现自动补全功能、如何使用ElasticSearch 的空间数据处理能力,以及如何使用预期搜索功能等。第7 章介绍了ElasticSearch 管理API 的能力,如控制分片部署位置、操纵集群等功能。在第8 章将学习到如何处理使用ElasticSearch 过程中可能遇到的常见问题。

《ElasticSearch:可扩展的开源弹性搜索解决方案》内容丰富、全面,基本概念的讲解细致、深入浅出。各种功能和命令的介绍,都配以实践操作和详细的代码。《ElasticSearch:可扩展的开源弹性搜索解决方案》是初学者学习ElasticSearch 不可多得的一本入门好书,对使用过ElasticSearch 及知道Apache Solr搜索引擎的人也颇有帮助。





作者简介  · · · · · ·

RafałKuć是一位天生的团队领导者和软件开发者。他现在在Sematext Group公司做顾问和软件工程师,专注于开源技术,如Apache Lucene与Solr、ElasticSearch及Hadoop软件堆栈。从银行软件到电子商务产品,他在不同的软件公司有超过11年的从业经历。他主要专注于Java,但是对任何有助于简单、快速达到目标的工具或程序设计语言都保持开放态度。Rafał还是solr.pl网站的创始人之一,在这里他试图和大家分享知识,帮助大家解决有关Solr和Lucene的问题。他还在世界各地的各种会议上做讲者,例如LuceneEurocon、Berlin Buzzwords及ApacheCon。

Rafał从2002年起开启了他的Lucene之旅,但那时他并非对Lucene一见钟情。当他在2003年年底回到Lucene时,他改变了关于此框架的想法,看到了其在搜索技术方面的潜力。后来Solr出现了,事情就是这样的。在2010年中,他开始使用ElasticSearch。如今,Lucene、Solr、ElasticSearch和信息检索是他的主要兴趣所在。

Rafał还是Apache Solr 3.1 Cookbook一书的作者,其升级版本Apache Solr 4 Cookbook由Packt Publishing公司出版。



目录  · · · · · ·
第1章 ElasticSearch集群入门        1
1.1 什么是ElasticSearch        1
1.1.1 索引        2
1.1.2 文档        2
1.1.3 文档类型        2
1.1.4 节点和集群        3
1.1.5 分片        3
1.1.6 副本        3
1.2 安装和配置ElasticSearch集群        3
1.3 目录结构        4
1.4 配置ElasticSearch        4
1.5 运行ElasticSearch        5
1.6 关闭ElasticSearch        7
1.7 作为系统服务运行ElasticSearch        8
1.8 基于REST API的数据操作        8
1.8.1 什么是REST        8
1.8.2 在ElasticSearch中存储数据        9
1.8.3 创建新文档        9
1.8.4 检索文档        11
1.8.5 更新文档        12
1.8.6 删除文档        13
1.9 手工创建索引与配置映射        13
1.9.1 索引        14
1.9.2 文档类型        14
1.9.3 索引操作        14
1.9.4 模式映射        15
1.10 动态映射和模板        28
1.10.1 类型确定机制        28
1.10.2 动态映射        31
1.10.3 模板        32
1.11 路由选择的重要性        34
1.11.1 如何进行索引        34
1.11.2 搜索是如何工作的        35
1.11.3 路由选择        37
1.11.4 routing参数        38
1.11.5 _routing字段        38
1.12 索引别名及其用途        39
1.12.1 别名的定义        40
1.12.2 创建别名        40
1.12.3 修改别名        41
1.12.4 两种命令的组合        41
1.12.5 获得所有的别名        41
1.12.6 过滤别名        42
1.12.7 别名和路由选择        43
1.13 本章小结        43
第2章 搜索数据        44
2.1 查询和索引的过程        44
2.2 本章案例使用的映射        45
2.3 查询ElasticSearch        47
2.3.1 简单查询        48
2.3.2 分页和结果规模        50
2.3.3 返回版本号        50
2.3.4 限制结果分数        52
2.3.5 指定返回字段        53
2.3.6 使用script_fields        55
2.3.7 选择合适的搜索类型(高级选项)        57
2.3.8 指定搜索执行的位置(高级选项)        58
2.4 基本查询        58
2.4.1 term查询        59
2.4.2 terms查询        60
2.4.3 match查询        60
2.4.4 multi_match查询        62
2.4.5 query_string查询        63
2.4.6 field查询        66
2.4.7 ids查询        67
2.4.8 prefix查询        68
2.4.9 fuzzy_like_this查询        68
2.4.10 fuzzy_like_this_field查询        69
2.4.11 fuzzy查询        70
2.4.12 match_all查询        71
2.4.13 wildcard查询        72
2.4.14 more_like_this查询        73
2.4.15 more_like_this_field查询        74
2.4.16 range查询        75
2.4.17 查询重写        75
2.5 过滤查询结果        76
2.5.1 使用过滤器        77
2.5.2 range过滤器        78
2.5.3 exists过滤器        80
2.5.4 missing过滤器        80
2.5.5 script过滤器        81
2.5.6 type过滤器        81
2.5.7 limit过滤器        81
2.5.8 ids过滤器        82
2.5.9 其他功能        82
2.5.10 bool、and、or和not过滤器        83
2.5.11 过滤器的命名        84
2.5.12 过滤器的缓存        87
2.6 复合查询        87
2.6.1 bool查询        88
2.6.2 boosting查询        89
2.6.3 constant_score查询        90
2.6.4 indices查询        90
2.6.5 custom_filters_score查询        91
2.6.6 custom_boost_factor查询        93
2.6.7 custom_score查询        93
2.7 数据排序        94
2.7.1 默认排序        94
2.7.2 选择用于排序的字段        95
2.7.3 指定缺失字段的行为        97
2.7.4 动态标准        97
2.7.5 排序归类和不同国家的字符        98
2.8 使用脚本        98
2.8.1 脚本中可用的对象        99
2.8.2 MVEL        100
2.8.3 其他语言        100
2.8.4 脚本库        101
2.8.5 本地代码        102
2.9 本章小结        104
第3章 扩展结构与搜索        105
3.1 索引非平面数据        105
3.1.1 数据        106
3.1.2 对象        106
3.1.3 数组        107
3.1.4 映射        107
3.1.5 开启还是关闭动态映射        109
3.1.6 向ElasticSearch发送映射文件        110
3.2 利用额外的内部信息扩展索引结构        111
3.2.1 标识符字段        111
3.2.2 _type字段        113
3.2.3 _all字段        113
3.2.4 _source字段        114
3.2.5 _boost字段        115
3.2.6 _index字段        115
3.2.7 _size字段        116
3.2.8 _timestamp字段        117
3.2.9 _ttl字段        118
3.3 高亮        119
3.3.1 高亮功能入门        120
3.3.2 字段配置        121
3.3.3 底层实现        121
3.3.4 配置HTML标签        122
3.3.5 控制高亮片段        123
3.3.6 全局与局部设置        123
3.3.7 仅显示匹配字段        124
3.4 自动补全        127
3.4.1 prefix查询        128
3.4.2 edgeNGram        128
3.4.3 统计        131
3.5 处理文件        134
3.6 地理信息        138
3.6.1 为空间搜索准备映射        138
3.6.2 示例数据        139
3.6.3 示例查询        139
3.6.4 geo_bounding_box过滤器        141
3.6.5 限定距离        143
3.7 本章小结        144
第4章 搜索优化        145
4.1 为什么文档被检索到        145
4.1.1 理解字段分析过程        146
4.1.2 解释查询        148
4.2 用加权查询影响得分        149
4.2.1 什么是权值(boost)        149
4.2.2 在查询中使用权值        150
4.2.3 修改打分        153
4.3 什么时候索引时加权有意义        162
4.3.1 在输入数据中定义字段加权        162
4.3.2 在输入数据中对文档加权        162
4.3.3 在映射中定义加权        163
4.4 具有相同含义的词        163
4.4.1 同义词(synonym)过滤器        164
4.4.2 定义同义词规则        165
4.4.3 查询时或索引时同义词扩展        167
4.5 搜索不同语言的内容        167
4.5.1 为什么我们需要对语言区分处理        167
4.5.2 如何处理多种语言        168
4.5.3 检测文档的语言        168
4.5.4 示例文档        169
4.5.5 映射        169
4.5.6 查询        171
4.6 使用跨度查询        174
4.6.1 什么是跨度        175
4.6.2 span_term查询        175
4.6.3 span_first查询        176
4.6.4 span_near查询        177
4.6.5 span_or查询        179
4.6.6 span_not查询        181
4.6.7 性能考虑        182
4.7 本章小结        182
第5章 组合索引、分析和搜索        183
5.1 索引树形结构        183
5.2 利用更新API修改索引结构        186
5.2.1 映射        186
5.2.2 添加一个新字段        186
5.2.3 修改字段        187
5.3 使用嵌套对象        188
5.4 使用父子关系        192
5.4.1 映射和索引        192
5.4.2 查询        194
5.4.3 父子关系和过滤        196
5.4.4 性能考虑        196
5.5 从其他系统获取数据:river        196
5.5.1 我们需要什么和river是什么        196
5.5.2 安装和配置river        197
5.6 批量索引以加快索引过程        200
5.6.1 如何准备数据        200
5.6.2 索引数据        201
5.6.3 是否有可能更快        203
5.7 本章小结        203
第6章 搜索之外        204
6.1 统计        204
6.1.1 文档结构        205
6.1.2 返回结果        205
6.1.3 query统计        206
6.1.4 filter统计        207
6.1.5 terms统计        208
6.1.6 range统计        210
6.1.7 histogram统计        212
6.1.8 statistical统计        214
6.1.9 terms_stats统计        216
6.1.10 geo_distance统计        217
6.1.11 过滤统计结果        218
6.1.12 统计计算范围        219
6.1.13 统计计算的内存考虑        222
6.2 相似(More Like This)        223
6.2.1 示例数据        223
6.2.2 发现相似文档        223
6.3 反查        225
6.3.1 准备反查器        225
6.3.2 深入学习        228
6.4 本章小结        229
第7章 管理集群        230
7.1 监控集群状态与健康状况        230
7.1.1 集群健康API        231
7.1.2 索引统计API        233
7.1.3 状态API        235
7.1.4 节点信息API        236
7.1.5 节点状态API        237
7.1.6 集群状态API        237
7.1.7 索引分段API        238
7.2 控制分片和副本的分配        238
7.2.1 显式控制分配        238
7.2.2 集群范围内分配        240
7.2.3 每个节点上的分片和副本数量        241
7.2.4 手动移动分片和副本        241
7.3 实例和集群状态诊断工具        243
7.3.1 Bigdesk插件        243
7.3.2 elasticsearch-head插件        244
7.3.3 elasticsearch-paramedic插件        245
7.3.4 SPM工具        246
7.4 ElasticSearch时光机        247
7.4.1 网关模块        247
7.4.2 恢复控制        250
7.5 节点探索        251
7.5.1 探索类型        251
7.5.2 主节点        251
7.5.3 设置集群名称        253
7.5.4 配置多播        253
7.5.5 配置单播        253
7.5.6 节点ping设置        254
7.6 ElasticSearch插件        254
7.6.1 安装插件        254
7.6.2 删除插件        255
7.6.3 插件类型        255
7.7 本章小结        256
第8章 问题处理        257
8.1 为什么靠后页面中的结果会比较慢        257
8.1.1 问题是什么        258
8.1.2 滚动(scrolling)机制来救急        258
8.2 控制集群再平衡        260
8.2.1 什么是再平衡        261
8.2.2 集群何时准备就绪        261
8.2.3 集群再平衡设置        261
8.3 验证查询        263
8.4 预热(warming up)        265
8.4.1 定义一个新的预热查询        266
8.4.2 获取已定义的预热查询        267
8.4.3 删除一个预热查询        269
8.4.4 关闭预热功能        269
8.4.5 如何选择预热查询        269
8.5 本章小结        270
· · · · · ·


下载链接回复可见:
游客,如果您要查看本帖隐藏内容请回复


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

144

帖子

398

积分

年度VIP会员

Rank: 2

积分
398
发表于 2018-2-22 01:50:58 | 显示全部楼层
又是一个好资源
回复

使用道具 举报

0

主题

92

帖子

415

积分

Lv1码农小白

Rank: 1

积分
415
发表于 2018-6-18 11:31:31 | 显示全部楼层
学习分享开始
回复

使用道具 举报

0

主题

10

帖子

20

积分

Lv1码农小白

Rank: 1

积分
20
发表于 2018-9-24 22:21:23 | 显示全部楼层
i want a go
回复

使用道具 举报

2

主题

119

帖子

448

积分

永久VIP会员

Rank: 3Rank: 3

积分
448
发表于 2019-4-9 11:43:07 | 显示全部楼层
搜索看看
回复

使用道具 举报

0

主题

269

帖子

838

积分

永久VIP会员

Rank: 3Rank: 3

积分
838
发表于 2019-8-4 09:09:42 | 显示全部楼层
1111111111111111
回复

使用道具 举报

2

主题

67

帖子

299

积分

永久VIP会员

Rank: 3Rank: 3

积分
299
发表于 2019-8-8 20:57:29 | 显示全部楼层
感谢分享,感谢分享
回复

使用道具 举报

0

主题

212

帖子

724

积分

永久VIP会员

Rank: 3Rank: 3

积分
724
发表于 2019-8-30 16:11:09 | 显示全部楼层
dfssssssss
回复

使用道具 举报

0

主题

47

帖子

219

积分

永久VIP会员

Rank: 3Rank: 3

积分
219
发表于 2019-9-2 20:41:32 | 显示全部楼层
RE: ElasticSearch:可扩展的开源弹性搜索解决方案 [修改]
回复

使用道具 举报

2

主题

464

帖子

1443

积分

永久VIP会员

Rank: 3Rank: 3

积分
1443
发表于 2019-12-11 08:53:08 | 显示全部楼层
可扩展的开源弹性搜索解决方案
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表