02_概念
功能分类
ES具备下列2个功能:
搜索. 功能和Solr类似
分析, 结合 LogStash 使用(比如 大数据的海量数据的大数据分析)
- 但是现在更多的用kafka,他是流式计算. 计算后,即有分片结果,也有每个节点的结果
相关概念
cluster
集群.elasticsearch集群由一个或多个节点组成,其中有一个主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的.Elasticsearch的一个概念就是去中心化,字面上理解就是五中心节点,这是对于集群外部来说的,因为从外部看Elasticsearch集群,在逻辑上是一个整体,你与集群中的任何一个节点通讯和与整个es集群通讯是等价的.in other word,主节点的存在不会产生单点安全隐患(只要节点不是全宕机),并发访问瓶颈等问题.
这个集群是有主,无中心,就是说么有谁是必须的
只要半数以上的节点ok,整个集群就可以
脑裂
Index: 索引
索引.相当于关系型数据库中的表,其中存储若干相似结构的Document的数据.如: 客户索引,订单索引,商品索引等.
Elasticsearch中的索引不像数据库表格中的一样强制的数据结构约束,在理论上,可以存储任意数据结构的数据.但是为了更好的为业务提供搜索数据支撑,还是要设计合适的索引体系来存储不同的数据.
shards和replicas 统称为分片
shards
primary shard: 代表索引的主分片, Elasticsearch可以把一个完整的索引分成多个primary shard,这样的好处是可以把一个大的索引拆分成多个分片,分布存储在不同的es节点上,从而形成分布式存储,并为搜索访问提供分布式服务,提高并发处理能力
primary shard的数量只能在索引创建时指定,并且索引创建后不能在更改primary shard数量.
replicas
replicas shard: 代表索引主分片的副本(从分片),es可以设置多个replicas shard.replicashard的作用:
- 一是提高系统的容错性,当某个节点某个primary shard 损坏或丢失时可以从副本中恢复
- 二是提高es的查询效率,es会自动对搜索请求进行负载
主分片用来读和写,从分片是只读,自动备份
当主分片宕机的时候,从分片可以升级成主分片
当节点恢复之后,他会进行数据同步,重新设定主从的分配的映射关系以及散列关系.
知道了上面这些,下面我们看一个要过期不能用的概念
Type
类型. 每个索引中都必须有唯一的一个Type,Type 是Index中的一个逻辑分类.
es中的数据document是存储在索引下的Type中的.
type(抽象概念)
注意:es5.x以及更低版本中,一个Index中可以有多个Type.
es6.x版本之后,type概念被弱化,一个index中只能有一个唯一的type,且在7.x版本之后,删除type定义
Document
就像你在MongoDB里面的文档是一样的
文档,ES中的最小数据单元,一个Document就是一条数据,一般使用JSON数据结构表示.每个Index下的Type中都可以存储多个Document.
一个Document中可定义多个field,field就是数据字段.
如: 学生数据({"name":"张三","age":20,"gender":"男"
).
元数据
在es中,所有已_
开头的属性都成为元数据,都有着自己特定的含义
例如: _index
: 表示索引
倒排索引
对数据进行分析,抽取出数据中的词条,以词条作为key,对应数据的存储位置作为