elasticsearch01-概述和重要概念解释

前言

Elastic search(es)是目前使用最广的搜索引擎,是elastic stack技术栈的核心,感觉es最大的功能就是提供全文搜索以及快速的查询能力,本章对es的学习分析是基于es官方文档和一些博客的总结分析,elasticsearch的安装很简单,下载官网的使用平台的安装包就可以了。

概念解释

es中一些名词概念是非常重要的,如果没弄明白这些名词的含义,会对学习es带来极大的困扰,本节基于官方文档,罗列了一下重要名词概念:

index

index-索引,很多文章都将index类比于关系型数据库的 数据库 概念,在实际使用的时候,觉得这种说法基本合理,但随着es6之后逐渐废除type(类比数据库的表,下文会讲)的概念,现在笔者更倾向于认为index 类比于表的概念。 官方文档中描述index是An index is a collection of documents that have somewhat similar characteristics., 就是document的集合。然后需要注意一个地方,文档中明确index的命名必须全部小写

type

type的作用是在一个index中,为不同的document进行分类,也就是一个index可以有多个分类(type),type再对应同一分类的document。但在es6之后,逐渐废弃了这种type的概念,基本现在是一个index一个type(默认是_doc)。

document

document就是一条数据,但使用json表示的数据。

field

field就是document的一个字段,json中的一个key-value。

先对上面几个概念进行一下总结,参考下图(没有type的概念)。

在这里插入图片描述

cluster

cluster集群的概念很常见,es是十分适合分布式的,只要node节点配置是设置的cluster name相同就是同一个集群下的(默认的cluster name是elasticsearch),非常方便。数据是存储在集群中,也就是多个node(服务器)上,整个cluster共维护存储了index。

node

node就是cluster中的一个节点,一般就是一台服务器,node的名称默认是uuid生成。

shards&replicas

shards分片也是分布式数据存储常见的概念,shards就是es中数据存储数据块。对于一个index,es允许有多个shards,分片数的设定可以在index创建的时候指定,一般会选择shards<=nodes。另外,每一个shards都是一个完整的Lucene index。 官方文档中强调了使用shards的两点重要原因:

  1. 可以分割index,提高数据的存储量。
  2. 一次查询,可以并行去不同shards中搜索,提高吞吐量和搜索性能。

replicas是复制的意思,es用了主分片(primary shards)和副分片(replicas)的方式来实现高可用。副分片就是主分片的拷贝,在网络异常,主分片所在的node挂了的时候,副分片提供服务,这是很常见的高可用方案,主分片和副分片不在同一个node上。官方文档中也强调了使用replicas的两点重要原因:

  1. 高可用。
  2. 搜索可以在所有分片上并行进行,所以可以提高吞吐量和搜索性能。

还有一点是,shards和replicas可以在index创建的时候指定个数,也可以在运行中任意时候改变,但推荐在index创建的时候指定;默认创建一个index,会有一个一主一副的shards(另一个可能是UNASSIGNED状态)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值