当前位置: 首页 > news >正文

初识ElasticSearch

一、了解ES

1.1 什么是 ElasticSearch

1、ElasticSearch 是一款非常强大的开源搜索引擎,可以帮助我们从海量的数据中快速的找到需要的内容。
2、ElasticSearch 结合 Kibana、Logstash、Beats、也就是Elastic Stach(ELK)。被广泛应用在日志数据分析、实时监控等领域。
3、ElasticSearch 是Elastic Stack 的核心,负责存储、搜索、分析数据。
在这里插入图片描述

1.2 ElasticSearch 的发展

1、Lucene 是一个 Java 语言的搜索引擎类库,是 Apache 公司的顶级项目,由 DougCutting 于1999年研发。
官网地址:https://lucene.apache.org
2、Lucene 的优势:易扩展、高性能(基于倒排索引)
3、Lucene 的缺点:只限于 Java 语言使用、学习曲线陡峭、不支持水平扩展
4、2004年基于 Lucene 开发了 Compass,2010年重写 Compass ,取名为 ElasticSearch。
相比 Lucene ,ElasticSearch 具有以下优势:

  • 支持分布式,可水平扩展
  • 提供 Restful 接口,可被任何语言调用

二、倒排索引

2.1 正向索引与倒排索引

传统数据库(如Mysql)采用正向索引,例如:如下表(tb_goods)中的 id 创建索引:
基于文档 id 创建索引,查询词条时必须先找到文档,而后判断是否包含词条。
在这里插入图片描述
ElasticSearch 采用倒排索引:

  • 文档(document): 每条数据就是一个文档
  • 词条(term): 文档按照语义分成的词语

对文档内容分词,对词条创建索引,并记录词条所在文档的信息。查询时先根据词条查询到文档 id,而后获取文档。
在这里插入图片描述
在这里插入图片描述

三、ES 基本概念

3.1 文档

1、ElasticSearch 是 面向文档存储的,可以是数据库中的一条商品数据,一个订单信息。
2、文档数据会被序列化为 json 格式后存储在 ElasticSearch 中。
在这里插入图片描述

3.2 索引

1、索引(index): 相同类型的文档的集合。
2、映射(mapping):索引中稳定的额字段约束信息,类似表的结构约束。
在这里插入图片描述
在这里插入图片描述

3.3 概念对比

在这里插入图片描述

3.4 架构

Mysql:擅长事务类型的操作,可以确保数据的安全性和一致性。
ElasticSearch:擅长海量数据的搜索、分析、计算
在这里插入图片描述


http://www.mrgr.cn/news/71144.html

相关文章:

  • AI 扩展开发者思维方式:以 SQL 查询优化为例
  • Openstack7--安装消息队列服务RabbitMQ
  • 全面介绍软件安全测试分类,安全测试方法、安全防护技术、安全测试流程
  • CAN总线位同步的使用以及总线仲裁规则详解
  • 使用docker-compose单点搭建社区版seafile+onlyoffice在线word编辑平台
  • 【支付行业-支付系统架构及总结】
  • AI技术助力电商转型:从挑战到未来
  • 想自己做大模型备案的企业看过来【评估测试题+备案源文件】
  • 基于C#WinForm+DevExpress项目开发实战(九)
  • Python网络爬虫简介
  • 【AI】AI如何赋能软件开发流程
  • 软考知识备忘
  • 微服务容器化部署实践(FontConfiguration.getVersion)
  • 【大模型推理】KV缓冲
  • ORM框架-SQL Sugar第一集
  • 【回文日期——模拟】
  • React的基础API介绍(一)
  • 第12课 二维数组(1)
  • 世界职院技能大赛视角下,高职高专技能人才高阶素养培育路径探究
  • CRM系统用户满意度调查:哪些品牌最受欢迎
  • 量化交易系统开发-实时行情自动化交易-3.4.1.4.A股衍生数据
  • Spring资源加载模块,原来XML就这,活该被注解踩在脚下 手写Spring第六篇了
  • 浅谈c++函数调用以及析构函数为虚函数的原因
  • 基于Ubuntu2410脚本搭建OpenStack-D版
  • 青训5_1112_01 小S的倒排索引(内置方法 set(a) set(b) 及sorted 排序)
  • No module named ‘torch.nn.attention‘