ES核心概念

3 篇文章 0 订阅
订阅专栏

概述

集群、节点、索引、类型、文档、分片、映射是什么

elasticsearch是面向文档,关系行数据库和elasticsearch客观的对比!一切都是JSON

elasticsearch(集群)中可以包含多个索引(数据库),每个索引中可以包含多个类型(表),每个类型下又包含多个文档(行),每个文档中又包含多个字段(列)

物理设计: 

elasticsearch在后台把每个索引划分成多个分片,每分分片可以在集群中的不同服务器间迁移

一个人就是一个集群!默认的集群名就是elasticsearch

逻辑设计:

一个索引类型中,包含多个文档,比如说文档1、文档2,当我们索引一篇文档时,可以通过这样的一名顺序找到它:索引->类型->文档ID,通过这个组合我们就能索引到某个具体的文档。注意:ID不必是整数,实际上它是个字符串。

文档

就是我们的一条条数据

user

1        zhangsan  18

2        wyt             20

之前说elasticsearch是面向文档的,那么就意味着索引和搜索数据的最小单位是文档,elasticsearch中,文档有几个重要属性:

  • 自我包含,一篇文档同时包含字段和对应的值,也就是同时包含key:value!
  • 可以是层次型的,一个文档中包含自文档,复杂的逻辑实体就是这么来的!(就是一个json对象)
  • 灵活的结构,文档不依赖预先定义的模式,我们知道关系型数据库中,要提前定义字段才能使用,在elasticsearch中,对于字段是非常灵活的,有时候,我们可以忽略该字段,或者动态的添加一个新的字段。

尽管我们可以随意的新增或者忽略某个字段,但是,每个字段的类型非常重要,比如一个年龄字段类型,可以是字符串也可以是整型,应为elasticsearch会保存字段和类型之间的映射及其他的设置。这种映射具体到每个映射的每种类型,这也是为什么在elasticsearch中,类型有时候也称为映射类型。

类型

类型就是文档的逻辑容器,就像关系型数据库一样,表格是行的容器,类型中对于字段的定义称为映射,比如name映射为字符串类型,我们说文档时无模式的,它们不需要拥有映射中所定义的所有字段,比如新增一个字段,那么elasticsearch是怎么做的呢?elasticsearch会自动的将新字段加入映射,但是这个字段的不确定它是什么类型,elasticsearch就开始猜,如果这个值是18,那么elasticsearch会认为它是整型。但是elasticsearch也可能猜不对,所以最安全的方式就是提前定义好所需要的映射,这点跟关系型数据库殊途同归了,先定义好字段,然后再使用

索引

就是数据库!

索引是映射类型的容器,elasticsearch中的索引是一个非常大的文档集合。索引存储了映射类型的字段和其他设置。然后他们被存储到了各个分片上了。我们来研究下分片是如何工作的。

物理设计:节点和分片 如何工作

一个集群至少有一个节点,而一个节点就是一个elasticsearch进程,节点可以有多个索引默认的,如果你创建索引,那么索引将会有5个分片(primary shard,又称主分片)构成的,每一个主分片会有一个副本(replica shard,又称复制分片)

上图是一个有3个节点的集群,可以看到主分片的对应的复制分片都不会在同一个节点内,这样有利于某个节点挂掉了,数据也至于丢失。实际上,一个分片是一个Lucene索引 ,一个包含倒排索引的文件目录,倒排索引的结构使的elasticsearch在不扫描全部文档的情况下,就能告诉你哪些文档包含特定的关键字。

倒排索引

elasticsearch使用的是一种称为倒排索引的结构,采用Lucene倒排索引作为底层。这种结构适用于快速的全文搜索,一个索引由文档中所有不重复的列表构成,对于每一个词,都有一个包含它的文档列表。例如,现在有两个文档,每个文档包含如下内容:

Study every day, good good up to forever #文档1包含的内容

To forever, study every day, good good up #文档2包含的内容

为了创建倒排索引,我们首先要将每个文档拆分成独立的词(或称为词条或者tokens),然后创建一个包含所有不重复的词条排序列表,然后列出每个词条出现在那个文档:

现在,我们试图搜索to forever,只需要查看包含每个词条的文档

 两个文档都匹配,但是第一个文档比第二个匹配程度更高。如果没有别的条件,现在,这两个包含关键字的文档都将返回。再来看一个示例,比如我们通过博客标签来搜索博客文章。那么倒排索引列表就是这样的另一个结构:

 

如果要搜索含有python标签的文章,那相对于查找所有原始数据而言,查找倒排索引后的数据将会快的多,只需要查看标签这一栏,然后获取相关的文章ID即可。完全过滤到无关的所有数据,提高效率!

elasticsearch的索引和Lucene的索引对比

在elasticsearch中,索引这个词被频繁使用,这就是术语的使用,在elasticsearch中,索引被分为多个分片,每份分片是一个Lucene的索引。所以一个elasticsearch索引是由多个Lucene索引组成的。别问为什么,谁让elasticsearch使用Lucene作为底层呢!如无特指,说起索引都是值elasticsearch的索引。

接下来的一切操作都在kibana中Dev Tools下的Console里完成,基础操作 

17-Elasticsearch与关系数据库的对比(索引 Indices的理解,主要概念的理解)
九师兄
02-13 5376
1. 谈谈Elasticsearch 和 传统关系型数据库的 对比?那些是相似的,那些是不同的 ElasticSearch与关系型数据库的相似: 名称 概念 概念 概念 概念 Relational DB Databases Tables Rows Columns 关系型数据库 数据库 表 行 列 Elastic...
2.Elasticsearch核心概念
qq_44605317的博客
06-29 648
es核心概念
面向文档
Behind You!
02-07 1284
在应用程序中对象很少只是一个简单的键和值的列表。通常,它们拥有更复杂的数据结构,可能包括日期、地理信息、其他对象或者数组等。 也许有一天你想把这些对象存储在数据库中。使用关系型数据库的行和列存储,这相当于是把一个表现力丰富的对象挤压到一个非常大的电子表格中:你必须将这个对象扁平化来适应表结构--通常一个字段>对应一列--而且又不得不在每次查询时重新构造对象。 Elasticsearch
(4)面向文档
Enjolras_fuu的博客
08-30 437
应用中的对象很少只是简单的键值列表,更多时候它拥有复杂的数据结构,比如包含日期,地理位置,另一个对象或者是数组。 总有一天你会想到把这些对象存储到数据库中。将这些数据保存到由行和列组成的关系数据库中,就好像是把一个丰富,信息表现力强的对象拆散了放入一个非常大的表格中:你不得不拆散对象以适应表模式(通常一列表示一个字段),然后又不得不在查询的时候重建它们。 es 是面向文档的,这意味着它可以存储...
谈谈Elasticsearch 和 传统关系型数据库的对比
热门推荐
varyall的专栏
01-23 1万+
本帖最后由 mtsbv110 于 2016-3-22 15:03 编辑 1、 在Elasticsearch中,文档归属于一种 类型(type) ,而这些类型存在于 索引(index)中,类比传统关系型数据库: Relational DB -> Databases -> Tables -> Rows -> Columns 关系型数据库       数据库             表 
ESElasticsearch 核心概念
每天更新大数据面经和技术
05-11 693
  昨天学习了 Elasticsearch 是什么,没看过的可以阅读昨天的文章。 【ESElasticsearch 简介 了解了什么是 ES 之后,今天继续 ES核心概念。 1.索引 index 文档存储的地方,类似于 MySQL 的数据库。 2.字段 field 相当于数据表中的字段,在 ES 中可以理解为 JSON 数据的键。 { "name":"wind" } 3.映射 mapping 映射是对文档中每个字段的类型进行定义。在大多数使用场景中,我们并不需要显示的创建映射,因为 ES
ES核心概念:文档字段映射类型
AI天才研究院
06-12 688
ES核心概念:文档、字段、映射、类型 1.背景介绍 1.1 Elasticsearch简介 1.1.1 什么是Elasticsearch Elastic
ElasticSearch核心概念讲解
IBLiplus的博客
01-17 483
目录 1、es的前世今生 2、es核心概念 3、es数据库的对比 1、es的前世今生 Lucene 是最先进的,功能最强大的搜索库,但是直接基于Lucene开发十分复杂,api非常复杂,体现在实现一个简单的功能要实现大量的代码,而且需要我们深入理解其底层原理,比如各种索引结构等; ElasticSearch : 基于Lucene进行封装,一定程度上隐藏了复杂性,提供了简单的api接...
Elasticsearch学习笔记2:ES核心概念 -- 索引、倒排索引、类型、文档
Vincent9847的博客
06-26 1397
一、ES和关系型数据库的对比 Elasticsearch Relational DB 索引(index) 数据库(database) 类型(types) 表(tables) 文档(documents) 行(rows) fields 字段(columns) Elasticsearch(集群)中可以包含多个索引(数据库),每个索引中可以包含多个类型(表0,贝格类型下又包含多个文档(行),每个文档中又包含多个字段(列)。 1.Elasticsearch的物理设
ElasticSearch数据库集成
AI天才研究院
01-21 969
1.背景介绍 1. 背景介绍 Elasticsearch 是一个开源的搜索和分析引擎,基于 Lucene 库,用于实时搜索和分析大规模文本数据。它可以将数据存储在内存中,以提供快速、实时的搜索和分析功能。Elasticsearch 通常与数据库集成,以提供更高效的搜索和分析功能。 在现代应用程序中,数据量越来越大,传统的关系型数据库已经无法满足实时搜索和分析的需求。Elasticsearch...
Elasticsearch与其他数据库的结合
AI天才研究院
01-21 1160
1.背景介绍 1. 背景介绍 Elasticsearch是一个基于分布式搜索和分析引擎,它可以处理大量数据并提供实时搜索功能。与传统的关系型数据库不同,Elasticsearch是一个非关系型数据库,它使用NoSQL技术来存储和查询数据。在现代应用程序中,Elasticsearch通常与其他数据库进行结合,以实现更高效的数据处理和查询。 在本文中,我们将讨论Elasticsearch与其他数...
Elasticsearch数据库与数据仓库
AI天才研究院
01-25 793
1.背景介绍 1. 背景介绍 Elasticsearch是一个开源的搜索和分析引擎,基于Lucene库开发。它可以用于实时搜索、日志分析、数据可视化等应用场景。Elasticsearch核心概念包括文档、索引、类型、映射、查询等。在本文中,我们将深入探讨Elasticsearch数据库与数据仓库特点,以及如何在实际应用中进行最佳实践。 2. 核心概念与联系 2.1 文档 在Elast...
Elasticsearch与MySQL对应关系表
qq_42831771的博客
10-14 980
1.MySQL 中的数据库(DataBase),等价于 ES 中的索引(Index)。 2.MySQL 中一个数据库下面有 N 张表(Table),等价于1个索引 Index 下面有 N 多类型(Type)。 3.MySQL 中一个数据库表(Table)下的数据由多行(Row)多列(column,属性)组成,等价于1个 Type 由多个文档(Document)和多 Field 组成。 4.MySQL 中定义表结构、设定字段类型等价于 ES 中的 Mapping。举例说明,在一个关系型数据库里面,Schem.
Elasticsearch 使用误区之一——将 Elasticsearch 视为关系数据库
最新发布
铭毅天下Elasticsearch
06-23 1346
Elasticsearch 是一个强大的工具,尤其在全文检索、实时分析、机器学习、地理数据应用、日志和事件数据分析、安全信息和事件管理等场景有大量的应用。然而,Elastic Stack 技术栈的选型及应用效能取决于正确的使用方式。选型错误或者误用 Elasticsearch 可能会导致扩展性问题、性能问题(如为解决一个问题使用非常复杂的脚本导致性能极差)等,从而使整体体验感变差。所以,本文区别于...
学习Elasticsearch数据库,不得不掌握的概念
qq_43577241的博客
03-08 286
首先,ElasticsearchES)和MySQL是两种不同类型的数据库,他们具有不同的设计目标和用途。本文主要介绍了Elasticsearch数据库中的重要概念,将有助于理解和使用Elasticsearch数据库
ElasticSearch - 基础概念,以及和 mysql 的对比
CYK_byte的博客
09-23 2074
比如我们的用户做一个商品订单的搜索,因为 es 的搜索能力更强,所以这里使用 es 进行搜索,那么也意味着,es 这边也要有数据,那怎么确保两边都有数据呢?elasticsearch 是面向文档存储的,可以是数据库中的一条商品数据,也可以是订单数据... 这些东西都会被序列化成 json 的格式,存储在 es 中.这里的映射就是对文档字段的约束,比如你的字段名字是什么,数据类型是字符串,还是数字啊. 这就类似于 mysql 中的约束一样.这就相当于是 MySQL 中的表一样,而文档就是表中的每一行数据.
ElasticSearch
incgdl的博客
10-29 1717
ElasticSearch入门
ES与传统数据库的比较
u013798230的专栏
11-02 1783
ES(ElasticSearch)是一款分布式全文检索框架,底层基于基于Lucene实现。ES与传统数据的区别主要有: 1.结构名称不同 一个ES集群可以包含多个索引(数据库),每个索引又包含了很多类型(表),类型中包含了很多文档(行),每个文档使用 JSON 格式存储数据,包含了很多字段(列)。 关系型数据库 数据库 表 行 列 ElasticSearch .
Elasticsearch核心概念详解:集群、节点与索引架构
以下是Elasticsearch核心概念: 1. **集群 (Cluster)**: 集群是Elasticsearch的基础,由多个节点组成,每个节点通过配置文件(默认为"elasticsearch")关联到集群。对于小型应用,初始时通常只有一个节点。节点...
写文章

热门文章

  • Git冲突与解决方法 35146
  • MacOS安装brew教程从入门到入土 14736
  • URLEncode原理(全网详解) 10478
  • ElementUi Steps 步骤条的使用 8411
  • ThinkPHP6 logo上传接口(异步请求)以及商品相册上传接口(多图上传) 7294

分类专栏

  • 前端学习汇总 23篇
  • Linux 2篇
  • Nginx 2篇
  • PHP 50篇
  • GoLang 27篇
  • Docker 2篇
  • MySQL 5篇
  • Elasticsearch 3篇
  • swoole 10篇
  • Redis 17篇
  • Git 9篇
  • MongoDB 1篇

最新评论

  • 深入探讨Go语言协程调度:GRM模型解析与优化策略

    白话机器学习: 文章内容通俗易懂,适合不同层次的读者。无论是初学者还是资深从业者,都能从中获得不同层次的收获

  • linux宝塔面板安装composer的方法[全网详解]

    春·生: 你姓陈?

  • 深入理解 Go 语言中的接口(interface)

    白话机器学习: 博主的文章细节很到位,兼顾实用性和可操作性,感谢博主的分享,期待博主持续带来更多好文。

  • Go 指针

    白话机器学习: 写的非常详细,是一篇优质博客,干货满满,让我有了全新的认识,感谢博主分享,让我学到了很多,支持支持。

  • GoLang切片

    CSDN-Ada助手: 恭喜你这篇博客进入【CSDN每天值得看】榜单,全部的排名请看 https://bbs.csdn.net/topics/617660966。

大家在看

  • ArcGIS无插件加载(无偏移)在线天地图高清影像与街道地图指南
  • 解锁二叉树的魅力:链式实现详解 1763
  • QT--QPushButton设置文本和图标、使能禁能、信号演示 271
  • DAY35||452.用最少数量的箭引爆气球 |435.无重叠区间 |763.划分字母区间
  • Scala中fitter flatten函数

最新文章

  • Go语言 fmt 包:格式化输出的利器
  • 玩转 Go 语言并发编程:Goroutine 实战指南
  • 深入理解 Go 语言 Goroutine 的工作原理
2023年55篇
2022年95篇
2021年21篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳坪山网站建设公司宜宾网站运营优化公司肇庆seo网站优化费用多少濮阳家装行业网站优化推广深圳小企业网站优化排名宜兴品牌网站设计优化价格桐梓网络推广网站搭建优化公司陕西网站长尾关键词优化范县网站优化效果眉山网站优化哪家强网站优化按天计费网站做优化认可易速达网站头部优化什么意思肥东网站排名优化费用安顺市百度网站优化优化网站url怎么写温州网站优化三尾狐云浮网站首页关键词优化方法图片在网站中的优化网站怎么优化视频常熟市网站关键词优化价格做优化用什么网站模板鄄城网站优化公司石家庄做网站优化小网站怎么优化到高权重北京网站seo优化排名公司沈阳好的餐饮行业网站优化寻甸网站优化策略网站专题优化巩义网站优化怎么做上海信息化网站优化大全香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化