1. 集群(Cluster)

1.1 概念:
一个或者多个安装了es节点的服务器组织在一起,就是es集群。这些节点共同持有数据,共同提供搜索服务。
一个集群有一个名字(cluster name),这个名字是集群的唯一标识,默认的集群名称是elasticsearch,具有相同名称的节点才会组成一个集群。
我们可以在config/elasticsearch.yml文件中配置集群的名字

  1. cluster.name=john-es

1.2 状态:
集群中,节点有三种状态:绿色,黄色,红色

  • 绿色表示节点的运行状态为健康。所有的主分片,副分片都可以正常工作。
  • 黄色表示节点的运行状态为警告。所有主分片都可以直接运行,但是至少有一个副本分片是不能正常工作的。
  • 红色表示集群无法正常工作。

    2. 节点(Node)

    集群中的一个服务器就是一个节点,节点中会存储数据,同事参与集群的索引以及搜索功能。
    一个节点想要加入一个集群,只需要配置一下集群名称即可。
    我们启动多个es节点,默认情况下它们之间会彼此发现,自动组成一个集群,这是由es默认提供的,但是这种方式并不可靠,可能发生脑裂现象(选举master节点导致)。

    3. 索引(Index)

    名词:具有相似文档的集合
    动词:索引数据以及对数据进行索引操作。

    4. 类型(Type)

    类型是索引的逻辑分区或者分区。在es6版本之前,一个索引中可以有多个类型;从es7版本开始,一个索引中,只能有一个类型。目前不建议使用type了。

    5. 文档(Document)

    一个可以被索引的数据单元。例如一个用户数据,一个实体数据等。文档都是JSON格式的。

    6. 分片(Shards)

    索引都是存储在节点上的,但是受限于节点的空间大小以及数据处理能力,单个节点的处理效果可能不理想,因此需要对索引进行分片。
    当我们创见一个索引的时候,需要制定分片的数量。每个分片本身也是一个功能完善并独立的索引。

    7. 副本(Replicas)

    副本也就是备份,是对主分片的一个备份。

    8. Settings

    集群中对索引的定义信息,例如索引的分片数,副本数等。

    9. Mapping

    Mapping保存了定义索引字段的存储类型,分词方式,是否存储等信息。

    10. Analyzer

    字段分词方式的定义。
  1. Elastic Search VS 关系型数据库 | 关系型数据库 | ElasticSearch | | —- | —- | | 数据库 | 索引 | | 表 | 类型 | | 行 | 文档 | | 列 | 字段 | | 表结构 | 映射(Mapping) | | SQL | DSL | | 索引 | 全文索引 |