1. 文档
- elasticSearch是面向文档的,文档时所有可搜索数据的最小单位
例如:
- 日志文件中的日志项
- 一本电影的具体信息/一张唱片的心昂西信息
- MP3播放器里的一首歌/一篇PDF文档中的具体内容
- 文档会被序列化成JSON格式,保存在ElasticSearch中
- JSON对象由字段组成
- 每个字段有对应的字段类型(字符串/数值/布尔/日期/二进制。范围类型) - 每隔文档都有一个Unique ID
- 可以自定义ID
- 可以通过ElasticSearch自动生成 - 文档元数据
2. index-索引
- 索引时文档的容器,是一类文档的结合
- index体现了逻辑空间概念:每个索引都有自己的Mapping定义,用于定义包含的文档的字段名和字段类型
- Shard(分片)体现了物理空间的概念:索引中的数据分散在Shard上 - Mapping: 定义文档字段的类型
- Setting:定义不同的数据分布
- 索引含义
- 名词:在ElasticSearch集群中,可以创建很多个不同的索引
- 动词:保存文档到ElasticSearch的过程也叫索引(Indexing)
- 在ES中,创建一个倒排索引(B数索引)的过程
3. kibana控制台基本指令
// 查看索引相关信息
get kibana_sample_data_ecommerce
// 查看索引的文档总数
get kibana_sample_data_ecommerce/_count
// 查看前10条文档,了解文档格式
Post kibana_sample_data_ecommerce/_search
// 查看indices
get /_cat/indices/kinaba*?v&s-index
// 查看状态为绿色的索引
get /_cat/indices?v&health=green
// 按照文档个数排序
get /_cat/indices?v&s-docs.count:desc
// 查看具体字段
get /_cat/indices/kinaba*?pri&v&h=health,index,pri,rep,docs.count,mt
// 查看索引的使用空间大小
get /_cat/indices?v&h=i,tm&s=tm:desc
4. 分布式系统
4.1 可用性与扩展性
4.2 特性
5. 节点
5.1 Master-eligible Node & Master Node
5.2 Data Node & Coordinating Node
5.3 其他节点类型
6. 分片
6.1 Primary Shard & Replica shard
- 例如:
6.2 分片设定
6.3 查看集群健康状况
7. 简单Demo演练
- cereba可视化工具查看