ElasticSearch笔记系列(3)——ElasticSearch理论概念

本文对ES中各个核心概念进行整理归纳。

集群和节点

一个集群由多个节点构成。还记得上一篇文章中的一主二从的三节点集群吗?

(1)在一个集群中,每个节点配置的集群名称是一样的。在配置时,所有的节点都是通过一个唯一的集群名字来加入集群的。

(2)一个节点只可以隶属于一个集群。

(3)每个节点还有它自己的名字。如之前master、slave1、slave2

(4)节点可以存储数据,参与集群索引数据,以及搜索数据的独立服务。

三大核心概念

索引:索引是含有相同属性的文档集合。

例如你可以用一个索引代表消费者的数据。另一个索引代表产品的数据。

索引在ES中是通过一个名字来识别的。而且必须是英文字母小写,且不含双划线。我们都是通过这个名字来进行增删改查的操作。

类型:一个索引里可以定义一个或者多个类型,通常我们会将有相同字段的文档作为一个类型。

文档:文档是可以被索引的基本数据单位。比如说一个用户的基本信息、一篇文章的数据等等。它是整个ES里面最小的存储单位。

(本文出自oschina博主happybks的博文:https://my.oschina.net/happyBKs/blog/1790876)

三大核心概念之间的关系

索引相当于sql里的一个database数据库

类型相当于sql里的一个table

文档相当于sql里的一行记录

举一个例子。

假设我们有一个信息查询系统,用ES来做存储。

里面的数据就可以分为各种各样的索引。比如汽车索引、图书索引、家具索引。

图书索引又可以细分为多种类型,比如说科普类的、小说类的、技术工程类的。

具体到每一本书籍,就是文档。就是整个信息系统中的存储物品信息的最小存储单位。

分片和备份

与索引相关的有两个高阶的概念:分片和备份

分片:在ES中,每个索引都有多个分片,每个分片都是一个Lucene索引。

备份:拷贝一个分片就完成的一个分片的备份。

为什么要分片?

分片的好处是:假设一个索引的数据量很大,就会造成硬盘压力很大;同时搜索速度也会出现瓶颈。那么你就可以将索引分成多个分片,从而分摊压力。

分片同时还允许用户进行水平的扩展和拆分,以及分布式的操作。可以提高搜索以及其他操作的效率。

备份还有哪些好处?

当一个主分片失败,或者出现问题时,备份的分片就可以代替工作。从而提供了ES的可用性。那么备份的分片还可以执行搜索操作,已分摊搜索的压力。

ES在创建索引时,默认会创建5个分片,1分备份。这个数量是可以修改的。

另外,分片的数量只能够在创建索引的时候指定。而不能在后期进行修改。而备份是可以动态修改的。

猜你喜欢

转载自my.oschina.net/happyBKs/blog/1790876