Elasticsearch实战与原理解析

Elasticsearch实战与原理解析
⽂章参考⾃:
1. 摘要
本⽂是⽜冬的 《Elasticsearch实战与原理解析》的读书笔记。电⼦书还是看⽂字类的舒服,可以在PC上阅读,也可以在⼿机上阅读。看⽂章最后,提供原⽂链接和源代码链接。
⽬录如下: 第⼀部分 Elasticsearch 前传 第1 章 搜索技术发展史 2 1.1 正说搜索技术发展史 2 1.2 Elasticsearch 简介 . 5 1.3 Lucene 简介 . 5 1.4 知识点关联 . 7 1.5 ⼩结 . 15
第2 章 搜索技术基本知识 16
2.1 数据搜索⽅式 . 16
2.2 搜索引擎⼯作原理 17
2.3 ⽹络爬⾍⼯作原理 18
2.4 ⽹页分析 . 20
2.5 倒排索引 . 23
2.6 结果排序 . 26
2.7 中⽂分词实战 . 27
2.7.1 Ansj 中⽂分词 . 27
2.7.2 Jcseg 轻量级 Java 中⽂分词器 . 30
2.8 知识点关联 . 38
2.9 ⼩结 . 39
第⼆部分 Elasticsearch 实战
第3 章 初识Elasticsearch 42
3.1 Elasticsearch 简介 . 42
3.2 Elasticsearch 的安装与配置 43
3.2.1 安装Java 环境 . 43
3.2.2 Elasticsearch 的安装 47
3.2.3 Elasticsearch 的配置 52
3.3 Elasticsearch 的核⼼概念 . 60
3.4 Elasticsearch 的架构设计 . 62
3.4.1 Elasticsearch 的节点⾃动发现机制 64
3.4.2 节点类型 66
3.4.3 分⽚和路由 66
3.4.4 数据写⼊过程 67
3.5 知识点关联 . 70
3.6 ⼩结 . 75
第4 章 初级客户端实战 76
4.1 初级客户端初始化 76
4.2 提交请求 . 83
4.3 对请求结果的解析 89
4.4 常见通⽤设置 . 91
4.5 ⾼级客户端初始化 95
4.6 创建请求对象模式 98
4.7 知识点关联 . 98
4.8 ⼩结 . 100
第5 章 ⾼级客户端⽂档实战⼀ . 101
5.1 ⽂档 . 102
5.2 ⽂档索引 . 103
5.3 ⽂档索引查询 . 114
5.4 ⽂档存在性校验 . 118
5.5 删除⽂档索引 . 121
5.6 更新⽂档索引 . 125
5.7 获取⽂档索引的词向量 131
5.8 ⽂档处理过程解析 138
5.8.1 ⽂档的索引过程 138
5.8.2 ⽂档在⽂件系统中的处理过程 140 5.9 知识点关联 . 145
5.10 ⼩结 . 146
第6 章 ⾼级客户端⽂档实战⼆ . 147
6.1 批量请求 . 148
6.2 批量处理器 . 154
6.3 MultiGet 批量处理实战 158
6.4 ⽂档ReIndex 实战 164
6.5 ⽂档查询时更新实战 171
6.6 ⽂档查询时删除实战 176
6.7 获取⽂档索引的多词向量 180
6.8 ⽂档处理过程解析 185
6.8.1 Elasticsearch ⽂档分⽚存储 185 6.8.2 Elasticsearch 的数据分区 187 6.9 知识点关联 . 188
6.10 ⼩结 . 189
第7 章 搜索实战 . 190
7.1 搜索API 191
7.2 滚动搜索 . 208
7.3 批量搜索 . 220
7.4 跨索引字段搜索 . 228
7.5 搜索结果的排序评估 235
7.6 搜索结果解释 . 243
7.7 统计 . 251
7.8 搜索过程解析 . 258
7.8.1 对已知⽂档的搜索 258
7.8.2 对未知⽂档的搜索 259
7.8.3 对词条的搜索 260
7.9 知识点关联 . 262
7.10 ⼩结 . 262
第8 章 索引实战 . 263
8.1 字段索引分析 . 264
8.2 创建索引 . 271
8.3 获取索引 . 277
8.4 删除索引 . 282
8.5 索引存在验证 . 285
8.6 打开索引 . 289
8.7 关闭索引 . 292
8.8 缩⼩索引 . 296
8.9 拆分索引 . 299
8.10 刷新索引 . 303
8.11 Flush 刷新 306
8.12 同步Flush 刷新 . 310
8.13 清除索引缓存 . 314
8.14 强制合并索引 . 317
8.15 滚动索引 . 322
8.16 索引别名 . 326
8.17 索引别名存在校验 330
8.18 获取索引别名 . 333
8.19 索引原理解析 . 337
8.19.1 近实时搜索的实现 337
8.19.2 倒排索引的压缩 337
8.20 知识点关联 . 338
8.21 ⼩结 . 339
第三部分 Elasticsearch ⽣态
第9 章 Elasticsearch 插件 342
9.1 插件简介 . 342
9.2 插件管理 . 343
9.3 分析插件 . 346
9.3.1 分析插件简介 346
9.3.2 Elasticsearch 中的分析插件 347 9.3.3 ICU 分析插件 349
9.3.4 智能中⽂分析插件 360
9.4 API 扩展插件 367
9.5 监控插件 . 368
9.6 数据提取插件 . 368
9.7 常⽤插件实战 . 369
9.7.1 Head 插件 369
9.7.2 Cerebro 插件 385
9.8 知识点关联 . 393
9.9 ⼩结 . 394
第10 章 Elasticsearch ⽣态圈 395
10.1 ELK 395
10.1.1 Elastic Stack . 395
10.1.2 Elastic Stack 版本的由来 396
10.1.3 ELK 实战的背景 . 397
10.1.4 ELK 的部署架构变迁 . 397
10.2 Logstash . 400
10.2.1 Logstash 简介 400
10.2.2 Logstash 的输⼊模块 402
10.2.3 Logstash 过滤器 403
10.2.4 Logstash 的输出模块 404
10.3 Kibana 405
10.3.1 Kibana 简介 . 405
10.3.2 连接Elasticsearch 406
10.4 Beats 410
10.4.1 Beats 简介 410
10.4.2 Beats 轻量级设计的实现 412
10.4.3 Beats 的架构 412
10.5 知识点关联 . 413
10.6 ⼩结 . 414
第⼀部分 Elasticsearch 前传
第1 章搜索技术发展史
(1)Elasticsearch基于Java编写,其内部使⽤Lucene做索引与搜索。
(2)2019年4⽉10⽇,Elasticsearch发布了7.0版本。该版本的重要特性包含引⼊内存断路器、引⼊Elasticsearch的全新集协调层——Zen2、⽀持更快的前k个查询、引⼊Function score 2.0等。
第2 章搜索技术基本知识
3,第⼆部分 Elasticsearch 实战
第3 章初识Elasticsearch
(1)如何检查Elasticsearch是否已运⾏正确?
1curl localhost:29200
2{
3 "name" : "node-1",
4 "cluster_name" : "my-es",
5 "cluster_uuid" : "xbE6G3BcQQKcQwCT8tWI_A",
6 "version" : {
7 "number" : "6.6.0",
8 "build_flavor" : "default",
9 "build_type" : "tar",
10 "build_hash" : "a9861f4",
11 "build_date" : "2019-01-24T11:27:09.439740Z",
12 "build_snapshot" : false,
13 "lucene_version" : "7.6.0",
14 "minimum_wire_compatibility_version" : "5.6.0",
15 "minimum_index_compatibility_version" : "5.0.0"
16 },
17 "tagline" : "You Know, for Search"
18}
(2)安全设置elasticsearch.keystore
有些设置是敏感的,依赖⽂件系统权限来保护它们的值是不够的。对于这个⽤例,Elasticsearch提供了⼀个密钥存储库和⼀个Elasticsearch -keystore⼯具来管理密钥存储库中的设置。
注意:elasticsearch密钥库⽬前只提供混淆。未来将增加密码保护。
帮助⽂档:
1../bin/elasticsearch-keystore --help
2  A tool for managing settings stored in the elasticsearch keystore
3
4Commands
5--------
6create - Creates a new elasticsearch keystore
7list - List entries in the keystore
8add - Add a string setting to the keystore
9add-file - Add a file setting to the keystore
10remove - Remove a setting from the keystore
创建密钥存储库
使⽤create命令来创建elasticsearch.keystore:
bin/elasticsearch-keystore create
⽂件elasticsearch.keystore将创建于l的⽬录位置。
列出密钥存储库中的设置
可以通过list命令获得密钥存储库中的设置列表:
bin/elasticsearch-keystore list
添加字符串设置
可以使⽤add命令添加敏感的字符串设置,⽐如云插件的⾝份验证凭据:
bin/elasticsearch-keystore add the.set
该⼯具将提⽰设置的值。要通过stdin传递该值,请使⽤--stdin标志:
cat /file/containing/setting/value | bin/elasticsearch-keystore add --stdin the.set
删除设置
要从密钥库中删除设置,请使⽤remove命令:
bin/elasticsearch-keystore remove the.ove
(3)Elasticsearch的核⼼概念
Elasticsearch的核⼼概念有Node、Cluster、Shards、Replicas、Index、Type、Document、Settings、Mapping和Analyzer,其含义分别如下所⽰。
Node

本文发布于:2024-09-20 12:40:02,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/89343.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:搜索   实战   插件   密钥   设置   解析
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议