Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎。
1. cluster(集群)
一个集群就是由一个或多个节点组织在一起,它们共同持有整个的数据,并一起提供索引和搜索功能,一个集群由一个唯一的名字标识,这个名字默认就是“elasticsearch”,多个节点使用这个名字加入集群
2. node(节点)
一个节点是集群中的一个es实例,作为集群的一部分,它存储你的数据,参与集群的索引和搜索功能,和集群类似,一个节点也是由一个名字来标识,默认情况下,不配置会使用随机名称,这个明早再会在启动的时候赋予节点
3.Index(索引)
一个索引就是一个拥有相似特征的文档集合(类似mysql的数据库),一个索引由一个名字来标识,我们对索引中的文档进行索引、搜索时都需要用到这个名字
4.type(类型)
一个索引中,可以定义一个或多个类型,一个类型相当于索引的一个分类(类似myql的表)
5.document(文档)
一个文档是一个可被索引的基础信息单元(类似表中的一行记录),文档以json格式来表示
6.Mapping(映射)
Mapping是对类型中的文档中的每个字段进行预先定义数据类型等功能,如定义文档中的某个字段为整形,使用什么分析器,是否可搜索等,一个索引可以定义多个mapping
7.Shards (分片)
Shard代表索引分片,es可以把一个完整的索引分成多个分片保存到不同的节点上,这样的好处是可以把一个大的索引拆成多个,分布到不同的节点上,构成分布式搜索,分片的数量只能在索引创建前指定,索引创建或不能修改
8.Replicas(副本)
代表索引副本,es可以对一个分片设置多个副本,副本的作用是提高系统的容错性,当每个节点某个分片损坏或丢失时可以从副本中恢复,二是提供es的搜索效率,es会对搜索请求进行负载均衡