Elasticsearch介绍(一)----基本概念

来源:互联网 发布:淘宝宏鑫数码通讯 编辑:程序博客网 时间:2024/06/14 23:24

原文地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/_basic_concepts.html
备注: 由于Elasticsearch全称过长,后面简写为ES。


学习ES之前了解一些相关的基本概念,有助于加速学习进程。

Near Realtime(NRT)

ES是一个接近实时的搜索平台。这意味着低延迟(通常从索引一个Doc到变得可搜索只需要1秒)

Cluster(集群)

集群是一个多节点(服务器)的容器。每个集群需要使用唯一的名称(默认是elasticsearch)。每个节点只能隶属于某一个集群。(总之,命名时如果有多个集群,每个集群名字要唯一,否则节点不知道自己应该属于哪个集群。)当然,一个集群也可以只有一个节点。

node(节点)

一个节点就是集群的一个单独服务器。节点可以用来存储数据、执行集群索引和搜索任务。节点可以通过节点名称(默认情况下节点名称是一个随机的全球唯一的标识符UUID)来识别。节点名称也可以修改。对于需要修改节点隶属于的集群需求的人,知道节点名称很重要(一个节点可以被分配到一个指定的机群)。(个人理解:如果只在一台机器上装了ES,那么默认集群名字叫elasticsearch,该节点隶属于elasticsearch集群)

index(索引)

索引是一个文档(类似于标识符)容器。例如:可以对客户数据进行索引,也可以对产品类别索引等。*索引名字必须为小写字母*。索引名字可以用来执行索引/搜索/更新/删除操作时使用。索引的数量不受限制,可以无限多。

Type(类型)

每个索引可以定义一类或多累数据类型。例如:可以把blog数据定义为一个索引类型,把注释数据定义为一个索引类型

Document(文档)

文档是能够被索引的基本信息单元。以JSON格式表述文档。

Shards&Replicas(碎片和副本)

碎片

通过碎片可以将索引数据存储在不同的节点上,从而解决单节点硬盘大小容量不够支撑索引索引数据问题。每个碎片的所有功能都可以在集群中任意节点操作。分散在不同节点上的碎片的搜索聚合然后返回给用户的任务都是由ES实现的。碎片的2个重要功能:    -水平拆分文本容量(比较绕口,简单理解就是可以拆分索引数据到不同的节点)    -实现了分布式/并行操作从而提升了性能和带宽

副本

副本顾名思义就是做备份的意思。主要用于预防单节点故障问题。ES允许做多个副本。副本的2个重要功能:    -提升系统的高可用性。一个节点的副本一定是存放在另一个节点上的。    -提升搜索速度和搜索容量。因为可以从不同节点的副本上执行搜索任务。总结:一个索引可以被分成多个碎片,同时可以制作多个副本。碎片和副本的设置可以在创建索引时设置。创建索引后*副本可以动态更改,但是碎片不可以*。

NOTE:每个ES碎片都是一个Lucene索引。每个Lucene索引可以容纳的文档上限是2,147,483,519个。可以通过_cat/shards API来监控碎片大小。

原创粉丝点击