人格分裂(交互问答)-我想懂Elasticsearch

通过交互式追问了解一个中间件


? 啥是Elasticsearch

! 分布式搜索和分析引擎

? 为啥是分布式搜索,单体难道用不了吗

? 实际上是说这个东西可以分布式部署

! 单机可用但扩展性差,分布式通过分片、副本和负载均衡实现海量数据存储与高并发处理

? 提到集群,这里分布式到底是集群还是分布式

! Elasticsearch的分布式是通过集群实现的,分布式是设计理念,集群是实现方式(目标和手段)

? 那集群到底是什么,是一样状态的节点吗

! 不是的,实际上是很多不同节点相互联系形成一个集群(状态同步的逻辑整体)

? 明明是不一样的分片,为什么分片丢失还能恢复

! Minio: 数学,可以使用剩余分片推理出丢失分片的信息;而Elasticsearch是通过主副分片

! 也就是说对于Elasticsearch这种,如果主分片和副分片同时丢失,数据丢失;对于Minio,若分片丢失数超过纠错码容量阈值,永久丢失(就像4个分片,相当于四个变量,纠错码比作是两个方程,对于则由任意两个变量就可以解出剩下的变量)

! 那也就是说,对于这种集群部署,数据配合的实现方式是多样的,要根据需求来设定

? 进入正题,为什么Elasticsearch比正常的检索快

! 倒排索引: 输入关键词->在词典中定位词项(哈希或二分)->获取到倒排列表->返回匹配文档 O(1) [类比翻书先找目录];分布式并行计算;列式存储+缓存...

? 啥叫列式存储,解释一下

? 也就是说Mysql这种关系型数据库是行式存储,Elasticsearch是列式存储吗

! Mysql只是行式存储( 专注于强一致的事务处理),es只是在特定情况下才采用列式存储存储,其实是行式(_source->实现CRUD)和列式(Doc Values->排序聚合)混合状态,并使用倒排索引加速全文搜索

? _source字段和Doc Values在es里代表了什么东西

! _source字段: 原始json文档(完整数据行);Doc Values: 单个字段的列数据行(分析引擎)

? 讲讲es怎么使用

! 安装->索引管理->数据操作->搜索聚合->高级功能 这里可以具体可以参照网上

 1. 安装:docker run -d -p 9200:9200 elasticsearch:8.5.1

 2. 创建索引:PUT /products { "mappings": { ... } }

 3. 插入数据:POST /products/_doc/1 { "title": "手机" }

 4. 搜索:GET /products/_search { "query": { "match": { "title": "手机" } } }

? 你提到的这些操作都是基于http请求实现的吗

! 对,主要通过RESTful Http Api

? 我要一个项目中(Spring Boot)集成es,需要做哪些工作

! 依赖引入->Bean配置(客户端)->CUDR(JSON数据)

 1. 引入依赖:elasticsearch-rest-high-level-client

 2. 配置客户端Bean:连接地址、认证信息

 3. 实现CRUD:通过RestHighLevelClient操作索引和数据。

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

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

相关文章

JAVA:利用 Content Negotiation 实现多样式响应格式的技术指南

1、简述 Content Negotiation(内容协商) 是 RESTful 服务的重要特性,允许客户端和服务器根据请求的不同特性动态选择适合的响应格式。它是一种在 HTTP 协议中实现的机制,通过它,服务器能够根据客户端需求返回适合的内…

Hook 函数

什么是hook函数? 在计算机编程中,hook函数是指在特定的事件发生时被调用的函数,用于在事件发生前或后进行一些特定的操作。通常,hook函数作为回调函数被注册到事件处理器中,当事件发生时,事件处理器会自动…

飞牛NAS新增虚拟机功能,如果使用虚拟机网卡直通安装ikuai软路由(如何解决OVS网桥绑定失败以及打开ovs后无法访问飞牛nas等问题)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 飞牛NAS虚拟机安装爱快教程 📒🛠️ 前期准备🌐 网络要求💾 下载爱快镜像🚀 开始安装💻 开启IOMMU直通🌐 配置网络🚨 解决OVS网桥绑定失败以及打开ovs后无法访问飞牛nas等问题➕ 创建虚拟机🎯 安装ikuai💻 进…

js手撕 | 使用css画一个三角形 使用js修改元素样式 驼峰格式与“-”格式相互转化

1.使用css画一个三角形 借助 border 实现,在 width 和 height 都为 0 时,设置 border,便会呈现三角形。想要哪个方向的三角形,设置其他三边为 透明即可。同时,可以通过调整不同边的宽度,来调整三角形的高度…

IoTDB 2025 春节值班与祝福

2025 春节快乐 瑞蛇迎吉庆,祥光映华年,2025 春节已近在眼前。社区祝福 IoTDB 的所有关注者、支持者、使用者 2025 新年快乐,“蛇”来运转! IoTDB 团队的春节放假时间为 2025 年 1 月 27 日至 2 月 4 日,1 月 25 日、26…

React和Vue有什么区别,如何选择?

React和Vue有什么区别,如何选择? React 和 Vue 是当前最受欢迎的前端框架之一,两者在开发者中都有极高的声誉。它们都旨在帮助开发人员构建用户界面,但在实现方式和适用场景上有所不同。如果你正考虑在项目中选择 React 或 Vue&a…

poi在word中打开本地文件

poi版本 5.2.0 方法1:使用XWPFFieldRun(推荐) 比如打开当前相对路径的aaaaa.docx XWPFFieldRun run paragraph.createFieldRun();CTRPr ctrPr run.getCTR().addNewRPr();CTFonts font ctrPr.addNewRFonts();// 设置字体font.setAscii(&quo…

15_业务系统基类

创建脚本 SystemRoot.cs 因为 业务系统基类的子类 会涉及资源加载服务层ResSvc.cs 和 音乐播放服务层AudioSvc.cs 所以在业务系统基类 提取引用资源加载服务层ResSvc.cs 和 音乐播放服务层AudioSvc.cs 并调用单例初始化 using UnityEngine; // 功能 : 业务系统基类 public c…

Linux 权限管理

hello!这里是敲代码的小董,很荣幸您阅读此文,本文只是自己在学习Linux过程中的笔记,如有不足,期待您的评论指点和关注,欢迎欢迎~~ ✨✨个人主页:敲代码的小董 💗💗系列专…

可以称之为“yyds”的物联网开源框架有哪几个?

有了物联网的发展,我们的生活似乎也变得更加“鲜活”、有趣、便捷,包具有科技感的。在物联网(IoT)领域中,也有许多优秀的开源框架支持设备连接、数据处理、云服务等,成为被用户们广泛认可的存在。以下给大家…

【25美赛A题-F题全题目解析】2025年美国大学生数学建模竞赛(MCM/ICM)解题思路|完整代码论文集合

我是Tina表姐,毕业于中国人民大学,对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在,我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

MySQL数据库基础

1、什么是数据库 存储数据用文件就可以了,为什么还要弄个数据库? 文件保存数据有以下几个缺点: 文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便 数据库存储介质: 磁盘内存 为了解决上述问题&a…

SAP新增公司间交易的配置点---SD部分内容

1.主要参考这里的内容进行配置,但是还是不够的,还有缺失 https://blog.csdn.net/weixin_44788719/article/details/143479599 2.缺失的内容如下: 要配置好销售组织与对应的工厂的关系:例如:2300销售组织要维护2300工…

数据结构(四) B树/跳表

目录 1. LRU 2. B树 3. 跳表 1. LRU: 1.1 概念: 最近最少使用算法, 就是cache缓存的算法. 因为cache(位于内存和cpu之间的存储设备)是一种容量有限的缓存, 有新的数据进入就需要将原本的数据进行排出. 1.2 LRU cache实现: #include <iostream> #include <list>…

【全栈】SprintBoot+vue3迷你商城(9)

【全栈】SprintBootvue3迷你商城&#xff08;9&#xff09; 往期的文章都在这里啦&#xff0c;大家有兴趣可以看一下 后端部分&#xff1a; 【全栈】SprintBootvue3迷你商城&#xff08;1&#xff09; 【全栈】SprintBootvue3迷你商城&#xff08;2&#xff09; 【全栈】Spr…

第 25 场 蓝桥月赛

4.喜糖摆放【算法赛】 - 蓝桥云课 问题描述 在过年时&#xff0c;蓝桥村的孩子们充满活力&#xff0c;他们化身为捣蛋鬼&#xff0c;挨家挨户寻讨喜糖。他们一共收到了N颗糖&#xff0c;每颗糖的甜度各不相同&#xff0c;第i颗糖的甜度为Ai。 然而&#xff0c;如何分配这些喜…

MySQL数据库笔记——版本号机制和CAS(Compare And Swap)

大家好&#xff0c;这里是Good Note&#xff0c;关注 公主号&#xff1a;Goodnote&#xff0c;本文详细介绍乐观锁的两种实现方式&#xff1a;版本号机制和CAS&#xff08;Compare And Swap&#xff09;。 文章目录 MySQL 内置的并发控制机制MVCC&#xff08;多版本并发控制&am…

深度解析:基于Vue 3与Element Plus的学校管理系统技术实现

一、项目架构分析 1.1 技术栈全景 核心框架&#xff1a;Vue 3 TypeScript UI组件库&#xff1a;Element Plus&#xff08;含图标动态注册&#xff09; 状态管理&#xff1a;Pinia&#xff08;用户状态持久化&#xff09; 路由方案&#xff1a;Vue Router&#xff08;动态路…

想品客老师的第七天:闭包和作用域

闭包之前的内容写在这里 环境、作用域、回收 首先还是数据的回收问题&#xff0c;全局变量一般都是通过关闭页面回收的&#xff1b;而局部变量的值不用了&#xff0c;会被自动回收掉 像这种写在全局里的就不会被主动回收捏&#xff1a; let title 荷叶饭function fn() {ale…

写一个存储“网站”的网站前的分析

要创建一个能够存储自己网站内容的“网站”,通常意味着你希望有一个可以存储网站数据、文件、内容等信息的系统。为了实现这一目标,可以考虑构建一个内容管理系统(CMS),这个系统能够帮助你存储和管理网站上的内容。 图片仅供参考 以下是如何实现一个可以存储自己网站内容…