ElasticSearch第一章(入门介绍)

这篇具有很好参考价值的文章主要介绍了ElasticSearch第一章(入门介绍)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1:什么是ElasticSearch

ElasticSearch(弹性搜索),简称ES。

ES是一个分布式,RESTFul风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack(Elastic技术栈简称ELK) 的核心,Elasticsearch 会集中存储您的数据,让您飞快完成搜索,微调相关性,进行强大的分析,并轻松缩放规模。

我们可以知道ES有三个特点:

1:分布式(非常方便实现集群部署)

2:RESTFul风格(使用RESTFul进行搜索)

3:搜索引擎(用于数据分析,首先数据得在ES中才行)

2:为什么要使用ElasticSearch

ES主要用来数据搜索和数据分析,这里有读者问不是有数据库吗?比如mysql的,ES和关系型数据库的分工是什么?我们下边举例说明

2.1:为什么不使用mysql

举例1:首先我们那熟悉的关系型数据mysql来举例。我们查找关系型数据库的商品表、数据量很大的时候,这里只是几条简单的数据和表用来举例,实际情况远远比这里复杂。

当我们要查找title="手机"、 "小米充电器"、 "华为" 等等字段的时候,势必要用到模糊查询

select * from order where title like "%目标字段%" ,这就很难使用到索引,即使我们在title字段上创建了索引,性能也会很差。当数据量大、并且title的内容很多的时候是个灾难

ElasticSearch第一章(入门介绍),框架_ElasticSearch,es

举例2:我们想象一下百度的搜索引擎,当我们程序员写了错误代码,到百度上搜索一个关键字查找答案的时候,百度是怎么处理的。比如程序出现的IO异常,我们去百度搜索,根据词条来检索出来我们需要的内容,然后把网上的资源都汇总起来。这个时候百度不会把网络资源放到mysql中,那样在查找关键字,得多慢。当然搜索引擎的技术很复杂。这里就例子就是说明了搜索引擎有多快,为什么有的情况不适用关系型数据库。

ElasticSearch第一章(入门介绍),框架_ElasticSearch,es

结果就是关系型数据库不适合做海量数据的搜索、分析、计算

 2.2:为什么要使用ES

前边我们知道关系型数据库的检索困难,比如大数据量的文本检索、计算等等。

那么ES是怎样实现的呢?如下图所示,当我们查询字段的时候

ElasticSearch第一章(入门介绍),框架_ElasticSearch,es

1:首先对title进行分词,分成小米、手机、华为、充电器、手环5个词

2:根据分词创建倒排索引,也就是词条和文档id的对照关系

3:进行查询的时候根据倒排索引,去词条列表中查询到文档id

4:根据文档id查询文档,存储结果集,然后返回。

这样就不会想mysql一样,模糊查询,几千万的数据也得一条一条比对,从而提升了效率。ES适合做海量数据的分析、计算,没有关系型数据库的事务概念

思考点:这样查询是很快、没问题?但是对大量的数据,比如上千万的数据进行分词,然后创建倒排索引这个过程怎么样。我也不知到、我们接着学习吧,也会能找到答案。

2.3:ES和mysql对比

1:mysql存储是表的形式存储数据,ES是文档存储,文档就是数据,将文档格式化成json存储。ElasticSearch第一章(入门介绍),框架_ElasticSearch,es

2:关系数据库 ⇒ 数据库 ⇒ 表 ⇒ 行 ⇒ 列(Columns)
Elasticsearch ⇒ 索引 ⇒ 类型 ⇒ 文档 ⇒ 字段(Fields)
ElasticSearch第一章(入门介绍),框架_ElasticSearch,es

总结:ES和关系型数据库各有所长、各有所短,不是替换关系,是互补关系。文章来源地址https://www.toymoban.com/news/detail-835722.html

ElasticSearch第一章(入门介绍),框架_ElasticSearch,es

 3:ES的安装

到了这里,关于ElasticSearch第一章(入门介绍)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第一章: uniapp引入axios异步框架

    在学习uniapp的过程中,发现 uniapp 框架默认集成 request 请求框架存在问题,发送请求时在header中塞入token值,而后台接收不到,也就是说uniapp默认的request请求框架,不支持在请求头中放入token的做法。 基于以上原因,笔者确定放弃默认的请求框架,引入第三方 axios 请求框架。

    2024年02月04日
    浏览(37)
  • 苍穹外卖-第一章项目介绍

    1)管理端功能 员工登录/退出 , 员工信息管理 , 分类管理 , 菜品管理 , 套餐管理 , 菜品口味管理 , 订单管理 ,数据统计,来单提醒。 2)用户端功能 微信登录 , 收件人地址管理 , 用户历史订单查询 , 菜品规格查询 , 购物车功能 , 下单 , 支付、分类及菜品浏览。 1)管理端 餐饮企业

    2024年02月08日
    浏览(42)
  • 后端Springboot框架搭建APi接口开发(第一章)

    本文章以IDEA为开发工具,使用SSM框架进行项目编写 我们用一个简单的用户表进行操作演示 首先创建 Data 数据库 创建 User 数据表,表中包含 用户邮箱 , 用户姓名 , 用户密码 放点数据进去 打开IDEA,在右上角点击NewProject。创建新的项目 选择Spring Initializr框架,依次输入项目

    2023年04月08日
    浏览(41)
  • 小满nestjs(第一章 介绍nestjs)

    视频课程 小满nest js 系列_哔哩哔哩_bilibili Nestjs 是一个用于构建高效可扩展的一个基于Node js 服务端 应用程序开发框架 并且完全支持typeScript  结合了 AOP 面向切面的编程方式 nestjs 还是一个spring MVC 的风格 其中有依赖注入 IOC 控制反转 都是借鉴了Angualr nestjs 的底层代码运用了

    2024年02月01日
    浏览(35)
  • 第一章:SpringBoot基础入门

    Spring 能做什么 Spring 的能力 Spring 的生态 网址: https://spring.io/projects/spring-boot 覆盖了: Web 开发、数据访问、安全控制、分布式、消息服务、移动开发、批处理等。 Spring5 重大升级 响应式编程 内部源码设计 基于 Java8 的一些新特性。 为什么用 SpringBoot ​ Spring Boot makes it eas

    2024年02月12日
    浏览(44)
  • 第一章 MATLAB入门

    MATLAB(矩阵实验室的简称)是一种专业的计算机程序,用于工程科学的矩阵数学运算。但 在以后的几年内,它逐渐发展为一种极其灵活的计算体系,用于解决各种重要的技术问题。 Matlab程序执行MATLAB语言,并提供了一个极其广泛的预定义函数库,这样就使得技术工作 变得简

    2024年02月05日
    浏览(41)
  • 第一章 小程序入门

    小程序的基本结构 小程序的页面组成部分 JSON 配置文件的作用 app.json 配置文件 project.config.json 配置文件 sitemap.json 配置文件 页面 .json 配置文件 什么是 wxml wxml 和 html 的区别 什么是 wxss wxss 和 css 的区别 通信模型 小程序的启动过程 页面渲染过程 button 按钮的基本使用 img 组件

    2024年02月08日
    浏览(60)
  • 第一章 快速入门

    TypeScript是JavaScript的超集。 它对JS进行了扩展,向JS中引入了类型的概念,并添加了许多新的特性。 TS代码需要通过编译器编译为JS,然后再交由JS解析器执行。 TS完全兼容JS,换言之,任何的JS代码都可以直接当成JS使用。 相较于JS而言,TS拥有了静态类型,更加严格的语法,更

    2024年02月01日
    浏览(35)
  • ChatGPT入门到高级【第一章】

    第一章:Chatgpt的起源和发展 1.1 人工智能和Chatbot的概念 1.2 Chatbot的历史发展 1.3 机器学习技术在Chatbot中的应用 1.4 Chatgpt的诞生和发展 第二章:Chatgpt的技术原理 2.1 自然语言处理技术 2.2 深度学习技术 2.3 Transformer模型 2.4 GPT模型 第三章:Chatgpt的应用场景 3.1 智能客服 3.2 智能问

    2024年02月04日
    浏览(31)
  • 【Matlab入门】 第一章 Matlab基础

    你好!欢迎查看此系列笔记。为何说是笔记而不是教程呢,是因为这就是真真切切的我自己学习的记录,从R2022a版本到R2024a,这意味着该系列笔记可能会一直更新下去,倘若有重大更迭,我也会及时更新。观看者遇到问题,可以在评论区反馈,我争取及时交流修改。初始笔记

    2024年02月20日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包