基本概念
1、索引(Index)
- es将数据存储于一个或多个索引中,索引是具有类似特性的文档的集合。相当于SQL中的一个数据库,或者一个存储方案schema。一个es集群可以创建任意数目的索引。
2、类型(Type)
- 类型是索引内部的逻辑分区,一个索引可以定义一个或多个类型。相当于SQL中的表。
3、文档(Document)
- 文档时Lucene索引和搜索的原子单位,是包含了一个或多个域的容器,每个域拥有一个名字及一个或多个值。,每个文档可以存储不同的域集,但是同类型的文档至少应该存在某种程度的相似之处。
4、映射(Mapping)
- 是产生的数据文档存储到es内部文档的一种对应关系。
- 每个域的数据类型和es如何处理这些域做映射,如你通过引号( “123” )索引一个数字,它会被映射为 string 类型,而不是 long 。但是,如果这个域已经映射为 long ,那么 Elasticsearch 会尝试将这个字符串转化为 long ,如果无法转化,则抛出一个异常。
- 查看映射
GET /gb/_mapping/tweet
5、节点(Node)
- 运行了单个实例的es主机称为节点,是集群的一个成员。
6、分片(Shard)和副本(Replica)
6.1、分片
- es的分片机制可以将一个索引内部的数据分布地存储于多个节点,它通过将一个索引切分为多个底层物理的Lucene索引完成索引数据的分割存储功能,每一个物理的Lucene索引称为一个分片。创建索引时,用户可指定分片数量,默认为5个。
6.2、副本
- shard分为两种类型:primary和replica,即主shard和副本shard。