Elasticsearch 基础概念

集群(Node 与 Cluster)

Elasticsearch 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例。
单个 Elastic 实例称为一个节点(node),一个或多个节点组成一个集群(cluster)。

基础概念

  1. 索引(Index)

    Elastic 数据管理的顶层单位就叫做 Index(索引),索引是含有相同属性的文档集合,每个 Index的名字必须是小写。

  2. 文档(Document)

    索引里面的每一条记录被称为 Document(文档),它是可以被索引的基本 数据单位,多条 Document 构成了一个 Index。
    同一个 Index 里面的 Document,不要求有相同的结构(scheme),但是最好保持相同,这样有利于提高搜索效率。

  3. 类型(Type)

    Document 可以分为不同的类型,比如goods这个 Index可以按供应商分类,也可以按销售状况(热销和滞销)分类。它是虚拟的逻辑分类,用来过滤 Document。

    索引可以定义一个或多个类型,文档必须属于一个类型。

对比理解

Mysql Elasticsearch
Database(数据库) Index(索引)
Table(表) Type(类型)
Row(数据行) Document(文档)
Column(列) Field(字段)
Schema(表设计) Mapping(映射)
Index(索引) Everything Indexed by default(所有字段都被索引)
SQL(结构化查询语言) Query DSL(查询专用语言)

分片与备份

分片和备份主要是用保证es的可用性和查询效率

  1. 分片

    每个索引都要多个分片,每个分片都是一个Lucene索引

  2. 备份

    拷贝一份分片,形成一个备份

发表评论