elasticsearch的一些基本概念
需要我们注意的是,这些概念理解只是解释其含义,不推荐强制翻译成中文。
Index:这是ES存储数据的地方,类似于关系数据库的database。
Document type:嗯,类似关系数据库的表,主要功能是将完全不同schema(这个概念以后会讲到,不急)的数据分开,一个index里面可以有若干个Document type。
Document:好吧,这个类似关系数据库的一行,在同一个Document type下面,每一Document都有一个唯一的ID作为区分;
Filed:类似关系数据库的某一列,这是ES数据存储的最小单位。
Cluster和Node:ES可以以单点或者集群方式运行,以一个整体对外提供search服务的所有节点组成cluster,组成这个cluster的各个节点叫做node。
shard:通常叫分片,这是ES提供分布式搜索的基础,其含义为将一个完整的index分成若干部分存储在相同或不同的节点上,这些组成index的部分就叫做shard。
Replica:和replication通常指的都是一回事,即index的冗余备份,可以用于防止数据丢失,或者用来做负载分担。
集群
集群是一个或多个节点的集合。他们一起保存你的数据,在所有节点间提供联合索引和搜索功能。一个集群由一个特定的名称表示,默认为“elasticsearch”。这个名字是很重要的,因为一个节点只能根据这个名字,加入一个集群。在实际应用中,建议 显式设置集群名称,但是在测试或开发时,用默认名称就可以了。
注意,一个集群只有一个节点是允许的,而且可以完美运行。此外,你可以有很多具有不同名字的独立的集群。
节点
一个节点是一个单独的服务器,它作为你集群的一部分,存储你的数据,参与集群的索引和搜索功能。和集群一样,节点也是由一个名字表示,默认在启动时随机分配一个名字。如果你不喜欢默认的名字,你可以定义任何你想要的名字。这个名字对于管理来说是比较重要的,它定义了你网络中的服务器,对应Elasticsearch集群中的哪个节点。
一个节点,通过配置集群名字,加入一个特定的集群。默认,每个节点被设置加入一个名字为“elasticsearch”的集群。它意味着,如果你在网络中启动很多个节点(假设他们可以互相通信),他们会自动加入一个名为“elasticsearch”的集群。
在一个集群中,你可以加入任意数量的节点。此外,如果在你的网络中,没有运行的elasticsearch节点,启动一个几点,会默认构成一个新的名为“elasticsearch”单节点集群。
索引
在一个索引中,你可以定义一种或多种类型。类型是你索引的一种逻辑分类,他的语义完全由你决定。通常,类型是对拥有相同字段的文档的定义。例如,假设你运行了一个博客平台,在一个索引中存储了你所有的数据。在这个索引中,你可能为用户数据定义了一种类型,为博客定义了另外一种类型,甚至对评论定义了另外一种类型。
文档
文档是可以存入索引的信息的基本单位。例如,你可以拥有一个关于特定用户的文档,关于特定产品的文档,甚至一个关于订单的文档。这个文档用JSON表示。
在一个索引/类型中,你可以存储任意多的文档。注意尽管一个文档物理存在于一个索引中,它实际必须指定这个索引中的一种类型。
分片&副本
一个索引可能存储超过一个节点硬件限制的数据。例如,一个拥有10亿文档、占用1TB磁盘空间的索引,可能不适合在一个节点的磁盘上面,或者对于一个单节点的搜索请求速度太慢。
为了解决这个问题,Elasticsearch提供了将你的索引分成称作分片的多个块。当你创建一个索引,你可以简单的定义你想要的分片数量。每一个分片自身就是一个全功能和独立的“索引”,可以托管在集群中的任何节点上。
分片有以下两个重要的原因:
--它允许你水平调整容量
--它允许你在分片上分发和并行操作(可能在多个节点上),因此提高了性能/吞吐量
一个分片如何分布、它的文档如何聚合回搜索请求完全由Elasticsearch管理,对用户来说是透明的。
在一个网络或云环境中,不论什么原因一个分片或节点离线或消失时,有一个故障转移机制是很有用且被强烈推荐的。为此,Elasticsearch允许你复制一个或多个索引分片到备用分片,简称副本。
复制有以下两个重要的原因:
--它提供了分片/节点失败时的高可用。为此,要注意一个备用分片永远不能与主分片分配到同一个节点上。
--它允许你拓展你的搜索容量/吞吐量,因此搜索可以再所有副本中并行执行。
总而言之,每个索引可以分成多个分片。一个索引当然也可以被复制0到多份。一旦复制了,每个索引会有主分片(原始分片)和副本分片(主分片的复制)。分片的副本的数量可以在索引创建时定义。索引简历后,你可以在任何时候动态的改变副本数量,但你不能改变分片数量。
默认,Elasticsearch中的每个索引被分配5个分片和1个副本,它意味着如果你集群中至少有两个节点,你的每个索引会有10个分片:5个主分片和另外5个副本分片(1个完整的副本)。
http://blog.csdn.net/sdlyjzh/article/details/41720295
http://blog.csdn.net/henriezhang/article/details/37961493
相关推荐
Elasticsearch入门(五):Elasticsearch基础概念与基本操作 文章中所用用到的 http 文件,包括 es.http和es_book.http
Elasticsearch入门篇(一、基本概念)1
分享一套完整版视频课程——分布式搜索...Elasticsearch概念 Elasticsearch安装和插件介绍 Elasticsearch基本使用和简单查询 Elasticsearch的Java客户端使用 Elasticsearch索引和Mapping Elasticsearch搜索深入 Elastic
Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是...本文涉及Elasticsearch的一些基本概念以及操作。还重点总结了安装过程中遇到的一些问题以及解决方案。
4、ElasticSearch架构图以及基本概念(术语) 1、es概述 2、ES架构模块 3、Elasticsearch核心概念 五、ES的集群部署 六、node01服务器安装elasticsearch-head插件 1 、node01机器安装nodejs 2 、node01机器安装 ...
, 《ElasticSearch:可扩展的开源弹性搜索解决方案》内容丰富、全面,基本概念的讲解细致、深入浅出。各种功能和命令的介绍,都配以实践操作和详细的代码。《ElasticSearch:可扩展的开源弹性搜索解决方案》是初学者...
Elasticsearch基本概念、内部底层原理、应用场景的介绍
本书首先对Elasticsearch 作一般性介绍,其中包括如何启动和运行Elasticsearch、Elasticsearch 的基本概念,以及如何以最基本的方式索引和搜索数据。接下来,本书讨论了Querydsl 查询语言,通过它可以创建复杂的查询...
分布式搜索elasticsearch几个概念解析 3 分布式搜索elasticsearch单机与服务器环境搭建 4 分布式搜索elasticsearch中文分词集成 5 分布式搜索elasticsearch配置文件详解 8 分布式搜索elasticsearch安装步骤详解 12 ...
内容涵盖 ES安装、ES基本概念和数据类型、Mysql 到 ES 数据同步、SpringBoot 操作 ES。可初步认识ES,理解ES的一些适用场景,以及如何使用springboot来同ES进行交互 1、ElasticSearch概念和适用场景 2、Elastic...
详细信息请参考:http://blog.csdn.net/u013985004/article/details/40303535
安卓 OpenGL ES 2.0 完全入门(一):基本概念和 hello world
Docker 容器中运行 Elasticsearch,Kibana 和 CerebroLogstash 安装与导入数据第 3 章:Elasticsearch 入门基本概念(1):索引,文档和 REST API基本概念(2):节点,集群,分片及副本文档的基本 CRUD 与批量操作...
OpenMAX的整体架构以及codec、YUV的基本概念 包含了ES、PES、TS、demux等概念 包含了H264码流的一些基本概念,如VBR / CBR / FMO / RS / NAL等
《elasticSearch入门指南》 1、es是什么?基本概念 2、安装、集群探索 3、操作数据 4、2.0主要变化
在这篇资源中,我们将详细介绍如何使用DSL...最后,我们将分享一些实用技巧和最佳实践,帮助您充分发挥DSL在Elasticsearch中的优势。我们将探讨性能优化、查询调试和索引优化等关键主题,以提升查询效率和搜索准确性。
文章目录ElasticSearch 学习笔记基本概念倒排索引timeout 超时Query 与 filter 的区别query全文检索短语检索高亮检索分组检索平均值的检索区间检索批量查询查询排序查询缓存文档替换与删除ES路由查询路由分词Mapping...
static while asm _cs _ds _es _ss cdecl far huge interrupt near pascal class public private catch protected delete new template friend this inline throw try operator virtual overload(现不用) 3.标识符...
opengl es for andorid 3d绘图基本概念事例源码,可以作为入门
解其中最基本的概念, 从最基本的操作开始学习 Elasticsearch。之后,我们还会逐渐开始探索 更加高级的搜索技术,不断提升搜索体验来满足你的用户需求。 Elasticsearch 不仅仅只是全文搜索,我们还将介绍结构化搜索...