ElasticSearch的核心概念简单描述

我正在参加「掘金·启航计划」

ES核心概念

ES是面向文档,下面表格是和关系型数据库的对比,一切都是JSON

关系数据库(Mysql)ES
数据库(database)索引(indices) 和数据库一样
表(tables)types 慢慢会被弃用 7.0已经过时 8.0会彻底废弃
行(rows)documents (数据)文档
字段(columns)fields

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

物理设计:

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

ES一个人就是一个集群,默认的集群名叫elasticsearch

逻辑设计:

一个索引类型中,包含多个文档

文档(表)

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

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

类型(字段属性类型 name varchar,name int之类的 )

类型是文档的逻辑容器,就像关系数据库一样,表格是行的容器,类型中对于字段的定义称为映射,在ES中,类型可以不定义设置,ES会去猜测数据类型,有可能出错,当然收到设置数据类型是最安全的

索引(数据库)

索引就是数据库,索引被分为5个分片,5个分片就是5个倒排索引,一个ES索引是由多个Lucenne库组成的
索引是映射类型的容器,ES中的索引是一个非常大的文档集合,索引存储了映射类型的字段和其他设置,然后他们被存储到了各个分支上,下面研究下分片是如何工作的

倒排索引

ES使用的是一种称为倒排索引的结构,采用Lucenne倒排索引作为底层,这种结构适用于快速的全文索引,一个索引由文档中所有不重复的列表构成,对于每一个词,都有一个包含它的文档列表

比如现在有两个文档

如果要搜索 to forever,由于文档1的权重(score )更高,所以优先考虑文档1,百度也是这样的机制

在看一个例子,倒排索引会过滤掉全部和查询无关的数据,效率更加高

总结其实就以下几个核心概念

1 索引
2 字段类型(mapping)
3 文档(documents)
4 分片(倒排索引)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/542.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Navicat连接oracle

1、官网下载oracle instant client客户端(版本自选) Oracle Instant Client Downloads 下载后解压 2、navicat配置 在工具-> 选项 -> OCI 或环境中,选择在步骤 1 解压目录的 oci.dll 3、重新启动 Navicat 4、配置oracle连接即可 参考…

别再分库分表了,试试TiDB!

什么是NewSQL 传统SQL的问题 升级服务器硬件 数据分片 NoSQL 的问题 优点 缺点 NewSQL 特性 NewSQL 的主要特性 三种SQL的对比 TiDB怎么来的 TiDB社区版和企业版 TIDB核心特性 水平弹性扩展 分布式事务支持 金融级高可用 实时 HTAP 云原生的分布式数据库 高度兼…

工程安全监测无线振弦采集仪在建筑物的应用分析

工程安全监测无线振弦采集仪在建筑物的应用 工程安全监测无线振弦采集仪是一种在建筑物中应用的重要设备。它通过无线采集建筑物内部的振动信息,对建筑物的安全性进行监测和评估,为建筑物的施工和使用提供了可靠的技术支持。本文将详细介绍工程安全监测…

【GESP】2023年06月图形化一级 -- 去旅行

文章目录 去旅行1. 准备工作2. 功能实现3. 设计思路与实现(1)角色、舞台背景设置a. 角色设置b. 舞台背景设置 (2)脚本编写a. 角色:Avery Walking 4. 评分标准 去旅行 1. 准备工作 (1)删除默认小…

golang,OpenGL,计算机图形学(三)

代码仓库 https://github.com/phprao/go-graphic 颜色 光源照射到物体上,一部分颜色被吸收,另一部分无法吸收的被反射到人眼,于是呈现出了颜色。 当我们把光源的颜色与物体的颜色值相乘(而不是点乘),所…

同城跑腿独立版小程序 码科跑腿小程序 支持用户端 骑手端

是独立版哦,不是微擎的 搭建有点复杂,只要一步错就会导致骑手端来单没有声音提示. 多的也不介绍了,不知道的朋友可以百度一下码科跑腿就知道了!

大数据的金融数据读取及分析(-)

由于考虑商业数据问题,我们用开源数据做演示 一.tushare开源数据 Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据&#x…

Tomcat与Undertow容器性能对比分析

👨‍🎓作者:bug菌 ✏️博客: CSDN、 掘金、 infoQ、 51CTO等 🎉简介:CSDN博客专家,C站历届博客之星Top50,掘金/InfoQ/51CTO等社区优质创作者,全网合计8w粉,对…

【已解决】ModuleNotFoundError: No module named ‘timm.models.layers.helpers‘

文章目录 错误信息原因解决方法专栏:神经网络精讲与实战AlexNetVGGNetGoogLeNetInception V2——V4ResNetDenseNet 错误信息 在使用timm库的时候出现了ModuleNotFoundError: No module named timm.models.layers.helpers’的错误,详情如下: …

旧手机不要轻易扔掉,将其设置为无线网卡,不消耗流量

如果你有一部旧手机正在闲置着,或者正考虑要将其丢弃,那么请暂停一下。因为这个旧手机可以成为你的无线网卡,帮助你在家中或出行时实现更快的网络下载速度,而且毫不费流量。接下来,我将告诉你如何将旧手机变成无线网卡…

力扣 257. 二叉树的所有路径

题目来源:https://leetcode.cn/problems/binary-tree-paths/description/ C题解1:使用递归,声明了全局变量result,遇到叶子节点就将字符串添加到result中。 递归三步法: 1. 确认传入参数:当前节点已有路径…

尚硅谷大数据Flink1.17实战教程-笔记02【Flink部署】

尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】视频地址:尚硅谷大数据Flink1.17实战教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据Flink1.17实战教程-笔记01【Flink概述、Flink快速上手】尚硅谷大数据Flink1.17实战教程-笔记02【Flink部署】尚硅谷…