关于Elasticsearch的几个概念:
1)在Elasticsearch中,文档归属于类型type,而类型归属于索引index,为了方便理解,可以把它们与传统关系型数据库做类比:
Relational DB -> DataBases -> Tables -> Rows -> Columns
Elasticsearch -> Indices -> Types -> Documents -> Fields
Elasticsearch集群中,可以包含多个索引Indices,每个索引可以包含多个类型Type,每个类型可以包含多个文档Document,每个文档对象包含多个字段(Field).
2)分片,集群,节点,复制.
*将你的文档分区到不同的容器或者分片(shards)中,它们可以存在于一个或多个节点中.
*将分片均匀的分配到各个节点,对索引和搜索做负载均衡.
*冗余每个分片,防止硬件故障造成的数据丢失.
*将集群中任意一个节点的请求路由到相应数据所在节点
*无论是增加节点,还是移除节点,分片都可以做到无缝的扩展和迁移.
一个节点(node)就相当于你的一个Elasticsearch实例,而集群(cluster)由一个或多个节点构成,它们具有相同的cluster.name,它们协同工作,分享数据和负载.