天天看点

elasticsearch的核心概念

一、near realTime(NRT):近实时,从写入数据到数据可以搜索到有一个小延迟(一秒),基于es的搜索和分析可以达到秒级

二、集群:包含多个节点,每个节点是属于哪个集群是通过一个配置(集群名称,默认是elasticsearch)来决定的。

三、node节点:集群中的一个节点,节点的名称是默认随机分配的,在执行运维管理操作的时候节点名称很重要,默认节点会加入一个叫elasticsearch的集群。

四、document和field:document是es中最小的数据单元,一个document可以是一条数据,通常用json数据结构表示,每个index下的type中可以存储多个document,一个document里面有多个field,每个field就是一个数据字段。

五、index索引:包含一堆有相似结构的document文档数据,一个index代表了一类类似的或相同的document。

六、type类型:每个index里面可以有多个或一个type,type是index的一个逻辑分类,一个type下的document都有相同的field,

七、shard:单台机器无法存储大量的数据,es可以将一个index中的数据切分为多个shard,分布在多个机器上进行存储,有了shard可以进行横向扩展,进而可以存储更多的数据,让搜索和分析等操作分布到多台机器上去执行,提高吞吐量和性能,每个shard都是一个Lucene index。

八、replica:任何一个服务都可能出现故障或者宕机,此时shard的数据就有可能丢失,因此可以为每个shard建立replica副本,replica可以在shard发生故障时提供备用服务保证数据不丢失,多个replica还可以提供搜索和分析等操作的性能。建立index时一次性设置primary shard,不能进行修改,默认是5个,replica可以随便修改,默认是1个(这里的1个的意思是每个primary shard拥有一个replica shard),默认每个索引有10个shard,5个primary shard,5个replica shard,最小的高可用配置,默认是2台服务器。

总结:

其实elasticsearch就相当于一个数据库

index  ——>  数据库

type  ——>    数据库表

document  ——>  表里的一行

field  ——> 表里的每一列

继续阅读