文档章节

ElasticSearch系列之二:基本概念介绍

swide
 swide
发布于 2017/08/29 13:45
字数 1152
阅读 111
收藏 0

本篇介绍一些ES基本且重要的概念,这些概念是ES的核心

基本概念

  1. 集群(Cluster)

    一个集群由一个或者多个节点组成。它给我们提供索引和搜索的功能。每个集群是由集群名来区分的,所以集群名字很重要。ES的默认集群名为elasticsearch。一个集群中的节点就会通过这个名字来加入集群。 在测试环境中可以不修改集群名称,但是强烈建议生产环境下修改集群名。

  2. 节点(Node) 一个节点是一个集群中的组成部分,它储存你的数据然后参与提供索引和搜索的功能。它可以是单独的一台服务器也可以是同一台服务器(ES可以在一台服务器上启动多个节点实例)。 一个节点通过配置集群名称来自动搜索集群并加入。默认情况下都会自动加入“elasticsearch”这个集群,毕竟默认的集群名就是“elasticsearch”。自动加入集群还需要开启需要加入节点的自动嗅探功能。当然启动一个节点也是可以的。

  3. 索引(Index) 索引就是拥有相似特征文档的集合,就相当于传统的关系型数据库中的数据库(database)概念。例如一个用户的索引,一个产品的索引等等。一个索引有一个名字(必须全小写),对文档增删改查的时候都需要使用这个索引,一个集群中你可以创建N+1个索引。

  4. 类型(Type) 一个索引中可以定义一个或者多个类型。一个类型是你索引上的逻辑分类,相当于传统关系型数据库中的表(table)。不同的 Type 应该有相似的结构(schema),举例来说, id 字段不能在这个组是字符串,在另一个组是数值。这是与关系型数据库的表的 一个区别 。性质完全不同的数据(比如 products 和 logs )应该存成两个 Index,而不是一个 Index 里面的两个 Type。 根据 规划 ,Elastic 6.x 版只允许每个 Index 包含一个 Type,7.x 版将会彻底移除 Type。

  5. 文档(Document)

一个文档是一个可以被索引的基础信息单元。一般对象会包含复杂数据结构,日期、地理位置、方位等信息,传统的关系型数据库不得不把有关系的信息拆分为行列存储,然后查询出来后进行重组。可是ES不需要这样,ES是面向文档(document oriented)的,这意味着你可以存储整个对象或者文档(document),不仅可以存储还会为每个文档建立索引以方便搜索。同时你也可以对文档进行排序、过滤、搜索等操作。

  1. 分片和复制片(shards and replicas)

    一个索引存储本身没有数量,大小限制但是一台单机的存储是有限的而且极大的数据处理也会比较缓慢。为了解决这个问题ES提供了将索引划分成多片的能力,这些片就叫分片(这也是ES天生支持分布式的原因)。

    在你创建索引的时候可以指定分片数量。每个分片都是一个单独的个体,可以独自放在集群的任何节点上工作。

    分片有这样的优点:

    • 允许你水平分割/扩展你的内容容量
    • 允许你在分片上进行分布式、并行的操作,提高性能和吞吐量。

    分片如何分布和分布查询都由ES管理,用户无需关心。

    在一个网络/云的环境里,失败随时都可能发生。在某个分片/节点因为某些原因处于离线状态或者消失的情况下,故障转移机制是非常有用且强烈推荐的。为此, ES允许你创建分片的一份或多份拷贝,这些拷贝叫做复制分片,或者直接叫复制。

    复制片会和主分片不在一个节点,这样保证主节点/复制片节点故障时候还要一个节点可以正常工作。

下一节会讲一下ES的安装,索引,类型,文档创建,查询,删除等知识

© 著作权归作者所有

swide
粉丝 0
博文 20
码字总数 11722
作品 0
乌鲁木齐
程序员
私信 提问
Docker下ELK三部曲之三:K8S上的ELK和应用日志上报

本章是《Docker下ELK三部曲》系列的终篇,前面章节已经详述了ELK环境的搭建以及如何制作自动上报日志的应用镜像,今天我们把ELK和web应用发布到K8S环境下,模拟多个后台server同时上报日志的...

boling_cavalry
2018/04/30
0
0
玩转大数据系列之一:数据采集与同步

数据的采集和同步,是先将数据从设备、或者本地数据源采集、同步到阿里云上,然后在阿里云上对数据进行分析和处理,最终完成您的业务要求。本文向您介绍阿里云各产品的数据采集和同步的操作实...

阿里云云栖社区
01/07
226
0
Elasticsearch介绍和安装

版权声明:https://blog.csdn.net/weixin43814195?t=1 https://blog.csdn.net/weixin43814195/article/details/85275156 Elasticsearch 1.简介 1.1基本概念 Elasticsearch是基于Lucene的全文......

MIss.Fan
2018/12/27
0
0
Elasticsearch简介与实战

什么是Elasticsearch?   Elasticsearch是一个开源的分布式、RESTful 风格的搜索和数据分析引擎,它的底层是开源库Apache Lucene。   Lucene 可以说是当下最先进、高性能、全功能的搜索引...

但盼风雨来_jc
03/06
0
0
当ES赶超Redis,这份ES进修攻略不容错过!

从4月DB-Engines最新发布的全球数据库排名中,我们赫然发现ElasticSearch逆袭超越了Redis,从原先的第9名上升至第8名,而Redis则落后一名,排在了其后。 事实上,这场逆袭并不算太让人意外。...

DBAplus社群
2018/04/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android面试常客之Handler全解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/fnhfire_7030/article/details/79518819 前言:又到了一年...

shzwork
30分钟前
4
0
position sticky 定位

本文转载于:专业的前端网站➫position sticky 定位 1、兼容性 https://caniuse.com/#search=sticky chrome、ios和firefox兼容性良好。 2、使用场景 sticky:粘性。粘性布局。 在屏幕范围内时...

前端老手
37分钟前
4
0
CentOS 7 yum 安装 PHP7.3 教程

参考:https://www.mf8.biz/centos-rhel-install-php7-3/ 1、首先安装 EPEL 源: yum install epel-release 安装 REMI 源: yum install http://rpms.remirepo.net/enterprise/remi-release......

dragon_tech
52分钟前
4
0
Linux物理网卡聚合及桥接

Linux内部实现的bridge可以把一台机器上的多张网卡桥接起来,从而把自己作为一台交换机。同时,LInux bridge还支持虚拟端口,即桥接的不一定都是物理网卡接口,还可以是虚拟接口。目前主要表...

xiangyunyan
53分钟前
4
0
一起来学Java8(一)——函数式编程

在这篇文章中,我们将了解到在Java8下如何进行函数式编程。 函数式编程 所谓的函数式编程就是把函数名字当做值进行传递,然后接收方拿到这个函数名进行调用。 首先来看下JavaScript如何进行函...

猿敲月下码
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部