ElasticSearch基础概念
Cluster(集群)
cluster(集群)是一个或者多个节点的集合,它们一起保存数据并且提供所有节点联合索引以及搜索功能。集群存在一个唯一的名字身份且默认为 “elasticsearch”。
确保在不同环境中不要重复使用相同的集群名字。可以使用 logging-dev,logging-stage,以及 logging-prod 用于 development(开发),staging(演示)和 production(生产)集群。
一个集群如果只有一个结点也是有效的,并且完全可以有多个独立的集群并且每个集群都有它自己唯一的 cluster name(集群名)。
Node(节点)
一个ElasticSearch实例称为一个节点.
节点可以通过配置 cluster name 来加入到指定的集群中。默认情况下,每个节点安装时都会加入到名为 elasticsearch 的集群中.
Index(索引)
index(索引)是具有稍微类似特征文档的集合,可以类比为DB中的单个数据库。例如,您有一个消费者数据的索引,一个产品目录的索引,和另一个是订单数据的索引。一个索引通过名字(必须全部是小写)来标识,并且该名字在对 document(文档)执行 indexing(索引),search(搜索),update(更新)和 delete(删除)操作时会涉及到。
Type(类型)
Type(类型)是一组数据字段的文档,可以类比为数据库的表。
Document(文档)
document(文档)是索引信息的基本单位。例如,您有一存储 customer(客户)数据的文档,另一个是存储 product(产品)数据的文档,还有一个是存储 order(订单)数据的文档。文档使用 JSON 来表示,可以类比为数据库中的一行数据。
在索引/类型中,您可以存储许多文档。文档必须索引到一个具体的Type(类型),否则会被自动按照文档的所有数据类型匹配到一个Type(类型)。
Shards & Replicas(分片 & 副本)
为了解决当个索引存储大量数据的容量和速度问题,Elasticsearch 提供了把 Index(索引)拆分到多个 Shard(分片)中的能力.
创建索引的时候,可以定义Shard(分片)的数量。
Replicas(副本)
在Shard(分片)故障时保证ElasticSearch的可用性,可以在创建索引的时候定义Sharding(分片)的数量。当有五个Shard(分片)时,定义一个Replicas(副本)则每个分片会有一个副本分片,即索引有10个Sharding(分片)。
参考文档:
ElasticSearch中文文档