学习Elasticsearch建议看官方文档:
elasticsearch官方文档
Elasticsearch官方网站有时加载较慢,推荐保存下来看
推荐一个我喜欢用的离线下载网站的软件:
Httrack
学习elasticsearch遇到了很多坑,看官方文档因为一些术语经常有时候看不懂,这里我把常用的一些术语分享出来便于大家学习
-
Elasticsearch
Elasticsearch是一个分布式文档存储。
Elasticsearch 为所有类型的数据提供近乎实时的搜索和分析。无论你有结构化或非结构化的文本,数值数据,或地理空间数据,Elasticsearch 可以有效地存储和索引它的方式,支持快速搜索。您可以远远超越简单的数据检索和聚合信息来发现数据中的趋势和模式。随着数据和查询量的增长,Elasticsearch 的分布式特性使您的部署能够随之无缝地增长。
-
document 文档
用于索引和搜索的基本单位是文挡,可以将其认为是关系数据库里的一行 。文档以类型来分组,类型包含若干文档,类似表格包含若干行 。最终,一个或多个类型存在于同一索 引中,索引是更大的容器,类似SQL世界中的数据库 。
就是你大部分要操作的数据。
-
mapping 映射
映射每个类型中的字段的定义,是定义文档及其包含的字段如何存储和索引的过程。
例如: 你要定义一个字段 “name”: “张三”, 而这里会把"name"映射为一个字符串string, 你如果映射为整型就会出错,在Elasticsearch中你可以自己定义映射,那样会让插入更快,也可以让Elasticsearch自己检查再进行转换,这也就是动态映射。
-
dynamic mapping 动态映射
如果一篇新近索引 的文档拥有一个映射中尚不存在的字段, E l a sticsearch 会自动地将新字段加入映射 。 为 了添 加这个 字段 ,Elasticsearch 不得不确定它是什么 类型 ,于是 Elasticsearch 会进行猜测 。 例如 ,如果值是 7,Elasticsearch 会假设字段是长整型。
动态映射也有缺点,因为 Elasticsearch 可能猜得不对。 例如,在索引了值 7 之后,你可能想再索引 hello world ,这时由于它是 string 而不是 long ,索引就会失败 。 对于线上环境,最安全的方式是在索引数据之前,就定义好所需的映射 。
-
type 类型
类型是文档的逻辑容器,类似于关系数据库中的表,类似于表格是行的容器 。在不同的类型中,最好放入不同结构(模式)的文档 。例如,可以用 一个类型定义聚会时的分组 ,而另 一个类型定义人们参加的活动 。每个类型中字段的定义称为映射 。例如,name 宇段可以映射为 string。而 location中的 geolocation字段可以映射为geopoint 类型。每种字段都是通过不同的方式进行处理 。例如,你在name 字段中搜索关键同,而同时通过位置来搜索哪些分组离你的住址很近 。
-
index 索引
你可以把索引看成数据库, 是文档的优化集合,每个文档是字段的集合,字段是包含数据的键值对。当然索引还有查找的意思。
-
静态索引
它们只能在创建索引时或在封闭索引上设置。
-
动态索引
可以使用更新索引设置 API 在活动索引上更改它们。
-
-
runtime 运行字段
运行字段是在查询时计算的字段。
-
index template 索引模板
索引的模板嘛, 就是用来创建一类索引的。
-
index block 索引块
索引块限制某个索引上可用的操作种类。这些块有不同的形式,允许阻止写、读或元数据操作。
-
倒排索引
倒排索引列出出现在任何文档中的每个唯一单词,并标识出每个单词出现在的所有文档。
-
data stream 数据流
类似索引,但数据流更适合存储追加的数据,非常适合于存储日志、事件、指标和其他连续生成的数据。
它使用索引生命周期,而索引声明周期会随时间转换数据流的状态,直至删除。
-
Ingest pipelines 管道
摄取管道允许您在索引文档之前对数据执行常见的转换。例如,您可以使用管道来移除字段、从文本中提取值以及丰富数据。
管道由一系列称为处理器的可配置任务组成。每个处理器按顺序运行,对传入的文档进行特定的更改。在处理器运行之后,Elasticsearch 将转换后的文档添加到数据流或索引中。
-
ILM 索引生命周期
您可以配置索引生命周期管理(ILM)策略,根据性能、弹性和保持需求自动管理索引。例如:
- 滚动(Rollover): 当当前文档达到一定大小、数量或年龄时,创建一个新的写索引。
- 收缩(Shrink): 减少索引中主分片的数量。
- 强制合并(Force merge): 触发一个强制合并以减少索引分片中的片段数。
- 删除(Delete): 永久删除索引,包括其所有数据和元数据。
ILM 定义了五个索引生命周期阶段:
- Hot: 正在更新和查询索引。
- Warm: 索引不再更新,但仍在查询中。
- Cold: T索引不再更新,并且很少被查询。这些信息仍然需要可搜索的,但是如果这些查询比较慢也没关系。
- Frozen: 索引不再更新,并且很少被查询。信息仍然需要搜索,但是如果这些查询非常慢也没关系。
- Delete: 索引不再需要,可以安全地删除。
-
node 节点
任何时候启动 Elasticsearch 实例,都是在启动一个节点
-
cluster 集群
任何时候启动 Elasticsearch 实例,都是在启动一个节点。连接节点的集合称为集群
-
shard 分片
分片可以是主分片,也可以是副本分片,其中副本分片是主分片的完整副本。 副本分片用于搜索,或者是在原有主分片丢失后成为新的主分片 。
-
Aggregations 聚合(聚集)
它加载了和搜索相匹配的文档,计算它们的统计数据,例如:新闻的热点话题、不同产品的营收趋势、 网站的唯一访客数量
-
Metric 度量聚集
度量型( metrics )聚集是指一组文档的统计分析 ,可以得到诸如最小值、最大值、标准差等度量值。例如 ,可以获得在线商店中物品的平均价格,或者是唯一的问用户的数量。
-
Bucket 单个和多桶聚集
桶( bucket )聚集将匹配的文档切分为一个或多个容器(桶),然后告诉你每个桶里的文档数量。
-
-
Kibana
elasticsearch可视化管理工具
-
Text analysis 文本分析
文本分析是将非结构化文本(如电子邮件或产品描述的正文)转换为为搜索优化的结构化格式的过程。
文本分析使 Elasticsearch 能够执行全文搜索,其中搜索返回所有相关结果,而不仅仅是精确匹配。