ElasticSearch导读
ElasticSearch
简介:ElasticSearch简称ES是一个开源的分布式搜素和数据分析引擎。是使用Java开发并且是当前最流行的开源的企业级搜索引擎,能够达到近实时搜索,它专门设计用于处理大规模的文本数据和实现高性能的全文搜索。它基于 Apache Lucene 构建,专为处理海量数据而设计。它支持全文搜索、结构化查询、数据分析,并广泛应用于日志管理(如 ELK Stack)、电商搜索、实时监控等场景。
基本概念
术语 | 说明 |
---|---|
索引(Index) | 类似数据库中的“表”,存储相关文档(如 user_index)。 |
文档(Document) | 索引中的基本数据单元,格式为 JSON(如一条用户信息)。 |
分片(Shard) | 索引被分割成的子部分,支持分布式存储和并行计算。 |
节点(Node) | 一个运行中的 Elasticsearch 实例,多个节点组成集群(Cluster)。 |
ELK技术栈
Elasticsearch结合Kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析,实时监控等领域:
核心组件
组件 | 功能 | 配图示意(文字描述) |
---|---|---|
Logstash、Beats | 数据采集与处理:从多种来源(如日志文件、数据库)收集数据,过滤并格式化后传输到 Elasticsearch。 | [输入] → Logstash(过滤/转换) → [输出] |
Elasticsearch | 数据存储与检索:分布式存储处理后的数据,支持快速搜索和分析。 | [数据存储] → Elasticsearch(索引/分片) |
Kibana | 数据可视化:通过图表、仪表盘展示 Elasticsearch 中的数据。 | Kibana ← [查询] → Elasticsearch |
总结:ELK 技术栈通过 Logstash/Beats(采集)→ Elasticsearch(存储)→ Kibana(可视化) 实现数据全生命周期管理,适用于日志分析、运维监控等场景。学习时需掌握各组件配置和协同工作原理。
Elasticsearch和lucene之间的关系
说的专业一点:Elasticsearch 基于 Apache Lucene(高性能全文检索引擎库)构建,核心的索引和搜索功能由 Lucene 实现。
说的通俗一点:Lucene 是“发动机”,专注单机性能;Elasticsearch 是“整车”,集成发动机并添加了方向盘、底盘(分布式、易用性)
总结:Elasticsearch = Lucene + 分布式 + 易用接口 + 高级功能(如聚合、近实时搜索)。
索引
两个基本概念:
文档(Document):文档是 Elasticsearch 中 最小的数据存储单元,类似于 Excel 表格中的一行数据,但更灵活。
词条(Term):词条是文档内容经过 分词处理 后的最小单位,是搜索引擎操作的基本元素。
文档与词条的关系:
维度 | 文档(Document) | 词条(Term) |
---|---|---|
角色 | 数据存储的基本单位(“完整信息包”) | 搜索的基本单位(“信息碎片”) |
存储方式 | 原始 JSON 格式,保存在索引(Index)中 | 分词后存储在反向索引(Inverted Index)中 |
操作目标 | 用于增删改查完整数据 | 用于快速检索和匹配内容 |
正向索引:正向索引是 以文档为中心 的索引结构,记录每个文档包含哪些关键词(类似书的目录,告诉你每本书里有什么内容)。
反向索引:反向索引是 以关键词为核心 的索引结构,记录每个关键词出现在哪些文档中(类似词典的索引页,告诉你哪个词在哪本书出现)。
正向索引VS反向索引
正向索引 | 反向索引 | |
---|---|---|
核心逻辑 | 文档→关键词(书→内容) | 关键词→文档(词典→书页) |
搜索效率 | 慢(需遍历所有文档) | 快(直接查关键词对应的文档) |
存储空间 | 较小 | 较大(需存储词频、位置等额外信息) |
典型应用 | 早期搜索引擎、小规模系统 | 现代搜索引擎(Google/Bing)、大数据系统 |
Mysql与ElasticSearch
-
ES 适合全文搜索和实时分析(如日志、商品搜索)。
-
MySQL 适合强事务和高一致性的业务(如支付、订单)。
-
实际项目中常结合使用(如 MySQL 存储业务数据,ES 提供搜索服务)。
相关文章:
ElasticSearch导读
ElasticSearch 简介:ElasticSearch简称ES是一个开源的分布式搜素和数据分析引擎。是使用Java开发并且是当前最流行的开源的企业级搜索引擎,能够达到近实时搜索,它专门设计用于处理大规模的文本数据和实现高性能的全文搜索。它基于 Apache Luc…...
【STM32】自定义打印函数
STM32 学习笔记:理解 my_printf 与 va_start 在嵌入式开发中,我们常常需要实现类似标准 C 中 printf 的调试输出功能。为了支持“任意数量参数”的传递,C 语言提供了对 可变参数(variable arguments) 的支持。其中&am…...
基于 STM32 的 PC ARGB 风扇控制器设计与实现
一、项目背景 最近购入的 X99 系列主板,没有风扇的 ARGB 彩灯接口,并且在 Ubuntu 系统上 4pin 的风扇接口调速也是非常的难用,sensor 扫描不到传感器,于是决定手搓一个风扇控制器,来实现转速自定义和彩灯控制。 我控制…...
【软件设计师】计算机网络考点整理
以下是软件设计师考试中 计算机网络 的核心考点总结,帮助您高效备考: 一、网络体系结构与协议 OSI七层模型 & TCP/IP四层模型 各层功能(物理层-数据链路层-网络层-传输层-会话层-表示层-应用层)对应协…...
在 Qt 中实现动态切换主题(明亮和暗黑)
目录 步骤 1:准备主题文件步骤 2:将 QSS 文件加入资源系统步骤 3:创建主题管理类步骤 4:在应用程序中切换主题步骤 5:处理自定义控件和动态资源步骤 6:保存用户主题偏好步骤 7:处理图片资源切换…...
JavaEE 初阶文件操作与 IO 详解
一、文件操作基础:File 类 作用:操作文件或目录(创建、删除、获取信息)。 核心方法: exists():文件是否存在createNewFile():创建新文件mkdir():创建目录delete():删除…...
基于Qt的app开发第十天
写在前面 笔者昨天刚刚收到课设的截止时间要求,距离写这篇博客的时间还有一个月,我从申请自命题课设到今天已经27天了,先用两周时间学Qt,然后就开始做这个项目,现在已经快把基础功能全部实现了。 目前的打算是完成基础…...
QT中信号和事件的区别
好的,简单来说,Qt 的信号(Signal)和事件(Event)虽然都用于组件间通信和交互,但它们的机制和用途是不同的: 1. 信号(Signal) 概念:信号是对象发出的…...
AUTOSAR图解==>AUTOSAR_SRS_PWMDriver
AUTOSAR PWM驱动模块详解 基于AUTOSAR 4.4.0 SRS 规范文档 目录 1. PWM驱动概述2. PWM驱动架构3. PWM驱动配置4. PWM驱动API接口5. PWM驱动状态管理6. PWM驱动典型应用场景7. 总结1. PWM驱动概述 AUTOSAR PWM驱动是AUTOSAR基础软件中的一个重要组件,属于微控制器抽象层(MCAL)…...
SQL数据处理流程
一、数据处理 1、数据清洗 对空值处理:删除/填充为0 -- 用 0 填充 NULL SELECT COALESCE(sales, 0) AS sales FROM orders;-- 删除含 NULL 的记录 DELETE FROM users WHERE email IS NULL; COALESCE(bonus, 0) 相当于IF(bonus IS NULL, 0, bonus),当…...
Mysql差异备份与恢复
1.练习差异备份 差异备份:备份完全备份后,新产生的数据。 在192.168.88.50主机完成差异备份 步骤一:练习差异备份//周一完全备份 mysql> select * from test.one; --------------------- | name | age | sex | ------------------…...
目标检测 Lite-DETR(2023)详细解读
文章目录 迭代高级特征跨尺度融合高效的低层次特征跨尺度融合KDA:Key-aware Deformable Attention 论文翻译: CVPR 2023 | Lite DETR:计算量减少60%!高效交错多尺度编码器-CSDN博客 DINO团队的 (Lightweight Transfo…...
【Java学习方法】类变量
类变量 引出关键字:static 又名:静态变量,静态字段,类字段(字段又名属性,成员方法),类属性 是什么? 供该(同一个类)的所有对象共享的变量 &am…...
智能手表为什么需要做 EN 18031 认证?
EN 18031 是欧盟针对电磁兼容性(EMC)中人体暴露于电磁场的安全要求制定的标准,全称为 《Electromagnetic compatibility (EMC) - Standards for protective measures against electromagnetic fields with regard to human exposure》&#x…...
什么是 Agent 的 Message
Messages 2.4.1 概述 什么是 Agent 的 Message? 当你和朋友聊天、在网上搜索信息或是对手机语音助手说“帮我查一下天气”时,其实你都在向某个“代理者(Agent)”发送一条“信息(Message)”。这里的“代理者”既可以是一个人,也可以是一个能执…...
如何用JAVA手写一个Tomcat
一、初步理解Tomcat Tomcat是什么? Tomcat 是一个开源的 轻量级 Java Web 应用服务器,核心功能是 运行 Servlet/JSP。 Tomcat的核心功能? Servlet 容器:负责加载、实例化、调用和销毁 Servlet。 HTTP 服务器:监听端口…...
WebRTC与RTSP|RTMP的技术对比:低延迟与稳定性如何决定音视频直播的未来
引言 音视频直播技术已经深刻影响了我们的生活方式,尤其是在教育、医疗、安防、娱乐等行业中,音视频技术成为了行业发展的重要推动力。近年来,WebRTC作为一种开源的实时通信技术,成为了音视频领域的重要选择,它使得浏览…...
COMPUTEX 2025 | 广和通创新解决方案共筑AI交互新纪元
5月20日至23日,广和通携多领域创新解决方案亮相2025年台北国际电脑展(COMPUTEX 2025),台北南港展览馆#K0727a展位。此次展会,广和通围绕“Advancing Connectivity Intelligent Future”为主题,设置四大核心…...
COMPUTEX 2025 | 广和通率先发布基于MediaTek T930 平台的5G模组FG390
5月19日,全球领先的无线通信模组和AI解决方案提供商广和通率先发布基于MediaTek T930平台的5G模组FG390系列。FG390系列模组为以5G固定无线接入(Fixed Wireless Access,FWA)为代表的MBB终端产品而设计,将在CPE…...
Power Integrations 汽车电源管理方案:为汽车应用增加系统价值
在新能源汽车产业蓬勃发展的当下,高效的电源管理方案成为提升汽车性能与可靠性的关键。近期,Power Integrations 举办线上交流会,介绍了基于其 1700V InnoSwitch3-AQ 反激式开关 IC 的五款全新参考设计,旨在为 800V 纯电动汽车提供…...
汽车转向系统行业2025数据分析报告
汽车转向系统市场概况 2024年全球汽车转向系统市场规模约为2769.4亿元,预计到2031年将增长至3296.3亿元,年均复合增长率(CAGR)为2.5%。这一增长主要得益于汽车行业的持续发展以及转向系统技术的不断进步。 市场驱动因素 汽车转…...
Tiny C 编译器中,如何实现宏展开和头文件包含的预处理逻辑?
首先,预处理的主要功能包括宏展开、头文件包含、条件编译等。用户的问题主要集中在宏展开和头文件包含,所以需要分别考虑这两个部分。 关于宏展开,首先需要解析#define指令。编译器在预处理阶段需要维护一个符号表,用来存储宏的名…...
谈谈 Kotlin 中的构造方法,有哪些注意事项?
在 Kotlin 中,构造方法分为主构造方法(Primary Constructor)和次构造方法(Secondary Constructor)。 1 主构造方法 主构造方法是类的核心构造方法,直接在类头声明,位于类名之后。 1.1 基本语…...
Elasticsearch常用命令
以下是 Elasticsearch 查看集群状态配置和索引完整操作流程的详细命令: 一、查看集群状态与配置 1. 集群健康状态 curl -X GET "localhost:9200/_cluster/health?pretty" 关键参数: level=indices:显示每个索引的健康状态 level=shards:显示每个分片的详细状…...
深入解读RTP协议:RFC 3550的技术分析与应用
引言 实时传输协议(RTP),作为一项重要的技术规范,在多媒体通信中扮演着至关重要的角色。尤其在音视频传输中,RTP为媒体流提供了端到端的传输机制,能够支持高质量、低延迟的音视频数据流传输。随着互联网及…...
使用 electron-builder 打包与发布 Electron 应用
基于 electron-vite-vue 项目结构 本文将基于 electron-vite-vue 脚手架,详细介绍如何使用 electron-builder 实现: ✅ 多平台打包(Windows / macOS / Linux)✅ 自动更新发布配置✅ 常用构建脚本与输出结构 📁 项目结…...
命令行删除node_modules
文章目录 前言一、linux二、windows 前言 最近公司在重构项目,使用的monorepo,这就导致多个项目有多个node_modules。所以在主项目的package.json中写一个清除所有项目的node_modules。第一次研究命令行的代码,记录一下。但我感觉我写的不太…...
naive-ui切换主题
1、在App.vue文件中使用 <script setup lang"ts"> import Dashboard from ./views/dashboard/index.vue import { NConfigProvider, NGlobalStyle, darkTheme } from naive-ui import { useThemeStore } from "./store/theme"; // 获取存储的主题类…...
开源Vue表单设计器FcDesigner中组件联动的配置教程
在用FcDesigner表单开发中,经常需要实现组件之间的联动行为,例如当某个输入框的值满足特定条件时,动态显示或隐藏其他组件。FormCreate 提供了强大的组件联动功能,通过 control 配置项实现组件的加载、显示、禁用和必填等状态控制…...
使用 Shadcn UI 构建 Java 桌面应用
许多桌面应用程序,如 Slack、Notion、Microsoft Teams 和 Linear,都采用基于 Web 的用户界面。这已成为现代软件开发中的常见做法,开发者可以借助熟悉的 Web 技术构建应用,从而简化开发流程。 在本篇文章中,我们将向您…...
25_05_19Linux实战篇、第一章_01若依前后端部署之路(后端)
Linux_实战篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:若依前后端动静分离(后端 ) 版本号: 1.0,0 作者: 老王要学习 日期: 2025.05.20 适用环境: Rocky9.5 文档说明 本文围绕 Linux 实战展开&#x…...
Python慕课学习记录
中国大学MOOC(慕课)观看记录: Python123课后相应的练习、考试记录...
2025年渗透测试面试题总结-快手[实习]安全工程师(题目+回答)
网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 快手[实习]安全工程师 一面问题分析与详细回答 1. 自我介绍 4. 项目问题与解决 7. 防止SQL注入&…...
【iOS(swift)笔记-10】利用类的继承来实现不同地区语言的显示
XCode项目原生开发有自带的可区分语言的功能体系,建议采用原生开发,此处利用类的继承来实现不同地区语言的显示是为了方便,而且在unity游戏开发中采用此法也挺灵活适用。 // 定义一个语言控制类 class LanguageController { // 根据系统切换…...
C语言中的弱符号 __attribute__((weak)) 的使用方法
以下是一个脱离 CallStack.h 的极简 C 语言示例,通过 弱符号覆盖 和 运行时检查 两个场景,展示 __attribute__((weak)) 的核心用法: 一、代码实现 1. 弱符号定义与覆盖(weak_demo.c) // weak_demo.c #include <st…...
禁止window安全中心乱删文件
将文件/文件夹添加到 Defender 排除列表 如果你确定文件安全,可以将其添加到 排除列表,防止 Defender 误删: Windows 安全中心 → “病毒和威胁防护” → “管理设置”。 下拉找到 “排除项” → “添加或删除排除项”。 点击 “ 添加排除…...
【JavaScript异步编程终极指南】从回调地狱到Async/Await的实战突围
目录 🌍 前言:技术背景与价值💔 当前技术痛点🛠 解决方案概述👥 目标读者说明🔍 一、技术原理剖析🧠 核心作用讲解🧩 关键技术模块说明⚖️ 技术选型对比 💻 二、实战演示…...
【算法专题十五】BFS解决最短路问题
文章目录 1.最短路问题简介(边权为1的最短路问题)2.迷宫中离入口最近的出口2.1 题目2.2 思路2.3 代码 3.最小基因变化3.1 题目3.2 思路3.3 代码 4.单词接龙4.1 题目4.2 思路4.3 代码 5.为高尔夫比赛砍树5.1 题目5.2 思路5.3 代码 1.最短路问题简介&#…...
upload-labs通关笔记-第16关 文件上传之exif_imagetype绕过(图片马)
目录 一、exif_imagetype 二、开启exif模块 1、phpstudy设置勾选php_exif模块 2、php.ini文件配置开启php_exif模块 三、源码分析 四、图片马 1、图片马概念 2、图片马制作 五、渗透实战 1、上传图片马 2、利用文件包含访问图片马 (1)jpg …...
力扣-两数之和
1.题目描述 2.题目链接 LCR 006. 两数之和 II - 输入有序数组 - 力扣(LeetCode) 3.题目代码 class Solution {public int[] twoSum(int[] numbers, int target) {int[]retnew int[2];int left0,rightnumbers.length-1;while(left<right){if(numbe…...
什么是大数据?
大数据的详细定义 大数据是来自计算机、移动设备和机器传感器的海量数据(数万亿字节)。企业利用这些数据推动决策、改进流程和政策,并打造以客户为中心的产品、服务和体验。大数据之所以被定义为 “大”,不仅在于其体量ÿ…...
25_05_19Linux实战篇、第一章_02若依前后端部署之路(前端)
Linux_实战篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:若依前后端动静分离(前端) 版本号: 1.0,0 作者: 老王要学习 日期: 2025.05.21 适用环境: Rocky9.5 文档说明 环境准备 硬件要求 服务器&…...
SuperVINS:应对挑战性成像条件的实时视觉-惯性SLAM框架【全流程配置与测试!!!】【2025最新版!!!!】
一、项目背景及意义 SuperVINS是一个改进的视觉-惯性SLAM(同时定位与地图构建)框架,旨在解决在挑战性成像条件下的定位和地图构建问题。该项目基于经典的VINS-Fusion框架,但通过引入深度学习方法进行了显著改进。 视觉-惯性导航系…...
【后端】【UV】【Django】 `uv` 管理的项目中搭建一个 Django 项目
🚀 一步步搭建 Django 项目(适用于 uv pyproject.toml 项目结构) 🧱 第 1 步:初始化一个 uv 项目(如果还没建好) uv init django-project # 创建项目,类似npm create vue⚙️ 第 …...
sqlsugar查看表结构并导出word文档
前提 SqlSugar 5.1.4 MiniWord 0.9.2 使用 using MiniSoftware; using SqlSugar;namespace ConsoleApp5 {internal class Program{/// <summary>/// 导出数据库表结构和字段信息/// https://www.donet5.com/Home/Doc?typeId1203/// </summary>/// <param n…...
【机器学习】支持向量机(SVM)
目录 一、支持向量机基本概念 1.1 定义 1.2 支持向量:距离超平面最近的样本点,决定了超平面的位置。 二、线性支持向量机 2.1 硬间隔支持向量机 2.2 软间隔支持向量机 三、非线性支持向量机 3.1 核函数 3.2 常用核函数 3.2.1 线性核:…...
[Java实战]Spring Boot整合MinIO:分布式文件存储与管理实战(三十)
[Java实战]Spring Boot整合MinIO:分布式文件存储与管理实战(三十) 一、MinIO简介与核心原理 MinIO 是一款高性能、开源的分布式对象存储系统,兼容 Amazon S3 API,适用于存储图片、视频、日志等非结构化数据。其核心特…...
SpringBoot微服务编写Dockerfile流程及问题汇总
背景 跟 Docker 磕了两天,将一个包含 N 个微服务的应用部署包改造,使其能够生成 Docker 镜像,并在 Docker 容器中运行。几年前玩过 Docker,隐约记得几个命令「Dockerfile 命令:黑卡饮料、山楂果费、哦SUV,…...
PostgreSQL使用
一、PostgreSQL语法 PostgreSQL表、模式、库三者之间的关系 库 -> 模式 -> 表、视图、函数等等对象。 在postgresql的交互式终端psql中,“\”开头的命令称为元命令(类似mysql的show语句),用于快速管理数据库。 常见元命令&…...
现代化SQLite的构建之旅——解析开源项目Limbo
现代化SQLite的构建之旅——解析开源项目Limbo 在当今飞速发展的技术世界中,轻量级且功能强大的数据库已成为开发者的得力助手。当我们谈论轻量级数据库时,SQLite无疑是一个举足轻重的名字。然而,随着技术的进步,我们对数据库的需…...