分布式搜索引擎-elasticsearch基础

news2024/10/23 6:20:51

分布式搜索引擎-elasticsearch基础

1、什么是elasticsearch?

  • elasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。

  • elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析实时监控等领域。

  • elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。

    image-20240307200231236

Lucene

Lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发。官网地址:https://lucene.apache.org/ 。

Lucene的优势:

  • 易扩展

  • 高性能(基于倒排索引)

Lucene的缺点:

  • 只限于Java语言开发

  • 学习曲线陡峭

  • 不支持水平扩展

elasticsearch

基于Lucene开发,也就是elasticsearch的底层实现

官网地址: https://www.elastic.co/cn/

相比与lucene,elasticsearch具备下列优势:

  • 支持分布式,可水平扩展

  • 提供Restful接口,可被任何语言调用

为什么学习elasticsearch?

搜索引擎技术排名:

  1. Elasticsearch:开源的分布式搜索引擎

  2. Splunk:商业项目

  3. Solr:Apache的开源搜索引擎

2、正向索引和倒排索引

传统数据库(如MySQL)采用正向索引,所以相对比之后给出的elasticsearch倒排索引。

正向索引图示:

image-20240307204729736

倒排索引:

  • 文档(document)每条数据就是一个文档

  • 词条(term):文档按照语义分成的词语

elasticsearch会新建一张表来记录根据语义划分的词条,然后检索词条,然后查询文档。

image-20240307205315620

搜索流程:

image-20240307205534949

3、文档document

  • elasticsearch是面向文档存储的,可以是数据库中的一条商品数据,一个订单信息。

  • 文档数据会被序列化为json格式后存储在elasticsearch中。

4、索引index

  • 索引(index):相同类型的文档的集合(相同结构,如字段)

如下图:

image-20240307210115536

5、与Mysql对比

MySQLElasticsearch说明
TableIndex索引(index),就是文档的集合,类似数据库的表(table)
RowDocument文档(Document),就是一条条的数据,类似数据库中的行(Row),文档都是JSON格式
ColumnField字段(Field),就是JSON文档中的字段,类似数据库中的列(Column)
SchemaMappingMapping(映射)是索引中文档的约束,例如字段类型约束。类似数据库的表结构(Schema)
SQLDSLDSL是elasticsearch提供的JSON风格的请求语句,用来操作elasticsearch,实现CRUD

6、技术架构

Mysql:擅长事务类型操作,可以确保数据的安全一致性

Elasticsearch:擅长海量数据的搜索分析计算

图解:

image-20240307210712872

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

lanqiao:合根植物

题目描述: 代码实现:

AD20软件使用指南:拼板操作与Gerber文件生成详解

文章目录 一、前言二、拼板1.创建新的PCB,用于放置拼板文件2.放置拼板阵列3.设置阵列信息4.V割拼板,放置工艺边和定位孔和光点5.完成拼板 三、生成Gerber文件1.输出Gerber文件2.选择单位和格式3.选择输出的图层4.生成Gerber文件5.生成钻孔文件 四、上传嘉…

element-plus upload上传

vue3 element-plus 2.4.3 <script> const submitUpload () > {// 单文件proxy.$refs["uploadRef"].submit(); }const uploadFile (options) > {let formData new FormData();formData.append("file", options.file)return uploadFileWith…

好物周刊#43:设计素材下载

https://yuque.com/cunyu1943 村雨遥的好物周刊&#xff0c;记录每周看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;每周五发布。 一、项目 1. frp 一个专注于内网穿透的高性能的反向代理应用&#xff0c;支持 TCP、UDP、HTTP、HTTPS 等多种协议&#xff0c…

Git小册-笔记迁移

Git简介 Git是目前世界上最先进的分布式版本控制系统&#xff08;没有之一&#xff09;。 所有的版本控制系统&#xff0c;其实只能跟踪文本文件的改动&#xff0c;比如TXT文件&#xff0c;网页&#xff0c;所有的程序代码等等&#xff0c;Git也不例外。版本控制系统可以告诉…

实用干货!产品经理的进阶秘籍:必备的10项核心技能

在现代商业环境中&#xff0c;产品经理的角色变得愈发关键和多样化。成功的产品经理不仅需要深厚的行业知识&#xff0c;还要具备一系列多面手的技能&#xff0c;以应对不断变化的市场需求和竞争压力。本文将深入探讨产品经理必备的10项核心技能&#xff0c;揭示职场进阶的秘籍…

数字孪生10个技术栈:原型设计,界面从无到有雏形的第一步。

一、什么是原型设计 可视化界面的原型设计是指在设计过程中创建一个低保真或高保真的可视化模型&#xff0c;以展示和演示最终产品的外观、布局和交互。它是设计师和开发团队在实际开发之前用来验证和确认设计方案的一个重要步骤。 可视化界面的原型设计主要包括以下几个方面&…

晶圆上特性表征

测试仪器&#xff1a; 半导体器件表征系统&#xff08;DC&CV&#xff09;&#xff1a;Keysight B1500A 半导体器件分析仪&#xff08;B1500A&#xff09;测量能力&#xff1a; 1.IV、CV、脉冲/动态IV范围为0.1 fA-1 A/0.5 uV-200 V 2.器件、材料、半导体、有源/无源元件的…

如何加速访问NexusMods网站

下载Steam(Watt Toolkit) 到steam官网下载https://steampp.net/ 使用Steam加速Nexus 打开Steam点击网络加速&#xff0c;点击平台加速&#xff0c;勾选Nexus Mods&#xff0c;以及下面的所有子项&#xff0c;如何点击一键加速。 注意事项 如果加速效果不好可以尝试切换加…

1 数据分析概述与职业操守 (3%)

1、 EDIT数字化模型 E——exploration探索 &#xff08;是什么&#xff09; 业务运行探索&#xff1a;探索关注企业各项业务的运行状态、各项指标是否合规以及各项业务的具体数据情况等。 D——diagnosis 诊断 (为什么) 问题根源诊断&#xff1a;当业务指标偏离正常值时&…

一款非常适合老中医用的《书剑中医电子处方软件简明版》

上了年纪的老中医&#xff0c;虽然经验丰富&#xff0c;但是电脑的基础都比较差&#xff0c;而开处方的软件通常又设计的太复杂&#xff0c;想用电脑开处方就非常困难&#xff0c;所以只好坚持手写开处方。最近&#xff0c;小编找到了一款非常简单的《书剑中医电子处方软件简明…

学习网络安全越早知道越好的事

网络安全专业最应该知道的血泪建议&#xff0c;希望大一就有人告诉你。 如果你是网络安全行业&#xff0c;那么大学四年千万不能就在宿舍打游戏度过&#xff0c; 大一你应该学习掌握基础的编程语言&#xff0c;比如Python&#xff0c;PHP&#xff0c;web前端&#xff0c;知道…

MySQL--MHA高可用方案

MHA高可用方案实行 1.1MHA简介 MHA 在监控到 master 节点故障时&#xff0c;会提升其中拥有最新数据的 slave 节点成为新的master 节点&#xff0c;在此期间&#xff0c;MHA 会通过于其它从节点获取额外信息来避免一致性方面的问题。MHA 还提供了 master 节点的在线切换功能&a…

unity-urp:视野雾

问题背景 恐怖游戏在黑夜或者某些场景下&#xff0c;需要用雾或者黑暗遮盖视野&#xff0c;搭建游戏氛围 效果 场景中&#xff0c;雾会遮挡场景和怪物&#xff0c;但是在玩家视野内雾会消散&#xff0c;距离玩家越近雾越薄。 当前是第三人称视角&#xff0c;但是可以轻松的…

YOLO算法改进Backbone系列之:EdgeViT

摘要&#xff1a;在计算机视觉领域&#xff0c;基于Self-attention的模型(如ViTs)已经成为CNN之外的一种极具竞争力的架构。尽管越来越强的变种具有越来越高的识别精度&#xff0c;但由于Self-attention的二次复杂度&#xff0c;现有的ViT在计算和模型大小方面都有较高的要求。…

2024年初中生古诗文大会备考:10道选择题真题练习和独家解析

今天我们继续来做初中古诗文大会的一些选择题真题&#xff0c;让大家了解初中生古诗文大会的考察内容和形式&#xff0c;并且提供了我独家的题目解析和答案&#xff0c;供初中的同学们学习和参考。 Tips&#xff1a;古诗文大会的许多题目都来自于中考、高考&#xff0c;甚至有…

记一次简单的获取虚拟机|伪终端shell权限

场景描述 某个系统是ova文件&#xff0c;导入虚拟机启动&#xff0c;但是启动后只有一个伪终端权限&#xff0c;即权限很小&#xff0c;如何拿到这个虚拟机的shell权限呢&#xff1f; 实际操作 这次运气比较好&#xff0c;所遇到的系统磁盘并没有被加密&#xff0c;所以直接…

bean的管理方式

默认情况下&#xff0c;spring项目启动时&#xff0c;会把bean对象全部创建好放到ioc容器 主动获取bean对象&#xff1a;getBean里面传入bean的名称或bean的类型 注意如果没有主动设置bean的名称&#xff0c;则默认名称是对应类名的首字母小写 在ioc容器中&#xff0c;bean对…

Windows系统获取硬盘读写速度(固态、机械通用)

管理员身份运行cmd&#xff0c;注意不要用powershell&#xff0c;可能会闪退 运行命令 winsat disk -drive C 获得C盘的读写速度 同理 winsat disk -drive D 可获得D盘的读写性能

redis未设置密码被植入挖矿脚本

最近一台测试linux响应速度贼慢&#xff0c;检查发现cpu消耗高达100%&#xff01;查看进程杀死后过段时间又重启了&#xff0c;一时间也摸不到头绪。无意间发现启动redis的时候cpu瞬间拉到了100%&#xff0c;主要就是zzh和newinit.sh两个脚本。百度了一下说是被植入了挖矿脚本&…