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

深入解析:ElasticSearch Query 查询方式

全文目录:

    • 开篇语
    • 前言
    • 摘要
    • 概述
    • ElasticSearch Query 查询方式详解
      • 1. Match 查询(全文搜索)
        • 1.1 Match 查询示例
        • 1.2 Match 查询参数扩展
      • 2. Term 查询(精准查询)
        • 2.1 Term 查询示例
        • 2.2 Terms 查询
      • 3. Bool 查询(组合查询)
        • 3.1 Bool 查询示例
      • 4. Range 查询(范围查询)
        • 4.1 Range 查询示例
        • 4.2 日期范围查询
      • 5. Aggregation 查询(聚合查询)
        • 5.1 聚合查询示例
        • 5.2 聚合扩展:嵌套聚合
      • 6. SQL 查询(简化语法)
        • SQL 查询示例
    • 适用场景案例
    • 优缺点分析
      • 优点
      • 缺点
    • 小结
    • 总结
    • 文末

开篇语

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛

  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。

  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式帮助到更多的初学者或者想入门的小伙伴们,同时也能对自己的技术进行沉淀,加以复盘,查缺补漏。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!

前言

在上期内容中,我们深入探讨了 ElasticSearch 的基本架构和核心功能,包括分布式存储、分片与副本的工作机制以及倒排索引的实现原理。然而,在实际的开发场景中,仅仅理解这些基础知识是不够的。我们需要通过查询接口高效地从海量数据中获取我们需要的信息。

本期内容,我们将聚焦 ElasticSearch 的 Query 查询方式。ElasticSearch 提供了丰富的查询 DSL(Domain Specific Language),可以满足从简单的全文搜索到复杂条件查询的多样化需求。通过对查询方式的解析和实战案例分享,我们将全面掌握 ElasticSearch 的查询能力。


摘要

ElasticSearch 是一个分布式搜索和分析引擎,其强大的查询功能使其成为处理海量数据的利器。本篇文章将系统讲解 ElasticSearch 的查询方式,包括 全文搜索结构化查询组合查询聚合查询 等,同时结合实际场景演示如何高效构建查询语句。最后,我们会对不同查询方式的优缺点进行对比,并总结最佳实践。


概述

ElasticSearch 提供两种主要的查询方式:

  • 查询 DSL(Query DSL):基于 JSON 格式的查询语法,用于表达搜索条件。
  • SQL 查询:ElasticSearch 提供了类似 SQL 的查询接口,适合习惯使用 SQL 的开发者。

在开发中,Query DSL 是主要的查询方式,它分为以下两大类:

  1. Match Queries(匹配查询):主要用于全文搜索。
  2. Term Queries(精准查询):用于精确匹配结构化数据。

除此之外,还可以通过组合查询和聚合查询实现复杂数据分析。


ElasticSearch Query 查询方式详解

1. Match 查询(全文搜索)

Match 查询是 ElasticSearch 中用于 全文搜索 的主要方式,它会对查询条件进行分词,然后匹配分词后的结果。

1.1 Match 查询示例

查询字段中包含某关键词的文档

GET /my_index/_search
{"query": {"match": {"content": "elastic search"}}
}
  • 解析
    • 查询字段 content
    • 查询内容 elastic search 会被分词为 elasticsearch,然后进行匹配。
1.2 Match 查询参数扩展

示例:控制匹配度(minimum_should_match)

GET /my_index/_search
{"query": {"match": {"content": {"query": "elastic search","minimum_should_match": "75%"}}}
}
  • minimum_should_match:至少 75% 的词语需要匹配,适合宽松搜索。

2. Term 查询(精准查询)

Term 查询不会对输入内容进行分词,直接用于匹配精确的值(例如数字、日期、布尔值等)。

2.1 Term 查询示例

查询状态为 active 的文档

GET /my_index/_search
{"query": {"term": {"status": "active"}}
}
  • 解析
    • 查询字段 status
    • 匹配字段值为 active 的文档。
2.2 Terms 查询

匹配多个值

GET /my_index/_search
{"query": {"terms": {"status": ["active", "pending"]}}
}
  • 匹配 statusactivepending 的文档。

3. Bool 查询(组合查询)

Bool 查询是 ElasticSearch 的 核心查询,用于构建复杂的条件查询。它允许组合多个子查询,通过逻辑关系(mustshouldmust_not)实现。

3.1 Bool 查询示例

同时满足多条件的查询

GET /my_index/_search
{"query": {"bool": {"must": [{ "term": { "status": "active" }},{ "match": { "content": "elastic search" }}],"must_not": [{ "term": { "category": "deprecated" }}],"should": [{ "term": { "priority": "high" }}]}}
}
  • must:必须满足的条件(类似 AND)。
  • must_not:必须不满足的条件(类似 NOT)。
  • should:可选条件(类似 OR,影响匹配评分)。

4. Range 查询(范围查询)

Range 查询用于匹配数值、日期等范围数据。

4.1 Range 查询示例

查询价格在 100 到 500 之间的商品

GET /my_index/_search
{"query": {"range": {"price": {"gte": 100,"lte": 500}}}
}
  • gte:大于等于(greater than or equal)。
  • lte:小于等于(less than or equal)。
4.2 日期范围查询

查询过去 7 天的数据

GET /my_index/_search
{"query": {"range": {"timestamp": {"gte": "now-7d/d","lt": "now/d"}}}
}
  • now:当前时间。
  • d:按天计算。

5. Aggregation 查询(聚合查询)

Aggregation(聚合查询)用于对数据进行统计分析,例如求平均值、总和、分组等。

5.1 聚合查询示例

按分类统计商品数量

GET /my_index/_search
{"size": 0,"aggs": {"category_count": {"terms": {"field": "category.keyword"}}}
}
  • size: 0:不返回文档,只返回聚合结果。
  • terms:按分类字段分组。
5.2 聚合扩展:嵌套聚合

统计每个分类下的平均价格

GET /my_index/_search
{"size": 0,"aggs": {"categories": {"terms": {"field": "category.keyword"},"aggs": {"avg_price": {"avg": {"field": "price"}}}}}
}

6. SQL 查询(简化语法)

ElasticSearch 提供了 SQL 查询接口,便于使用 SQL 风格查询数据。

SQL 查询示例

查询状态为 active 的文档

POST /_sql?format=json
{"query": "SELECT * FROM my_index WHERE status = 'active'"
}

适用场景案例

  1. 电商平台

    • 使用 Match 查询实现商品的关键词搜索。
    • 使用 Aggregation 查询统计每个分类下商品的数量。
  2. 日志分析系统

    • 使用 Range 查询分析过去一周的访问量。
    • 使用 Bool 查询过滤多个条件的日志。
  3. 数据统计系统

    • 使用 Terms 和 Aggregation 查询统计各地销售额分布。

优缺点分析

优点

  1. 灵活性强:支持丰富的查询类型,适配不同需求。
  2. 性能高效:通过倒排索引和聚合优化实现快速查询。
  3. 扩展性好:支持组合查询和嵌套聚合。

缺点

  1. 学习曲线陡峭:查询 DSL 的复杂度较高。
  2. 调试难度大:复杂查询可能需要反复测试优化。

小结

通过本文的学习,我们系统了解了 ElasticSearch 的查询方式,包括全文搜索、精确匹配、范围查询、组合查询以及聚合查询等。无论是构建搜索引擎,还是设计复杂的数据统计功能,ElasticSearch 都提供了强大的工具链。


总结

ElasticSearch 的强大查询能力是其成为现代分布式搜索和分析引擎的核心优势。在实际项目中,通过合理选择和组合查询方式,可以高效地从海量数据中获取所需信息。希望本篇文章能为您在 ElasticSearch 查询开发中提供切实的帮助和启发!

… …

文末

好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。

… …

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!


⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。
⭐️若有疑问,就请评论留言告诉我叭。


版权声明:本文由作者原创,转载请注明出处,谢谢支持!

相关文章:

深入解析:ElasticSearch Query 查询方式

全文目录: 开篇语前言摘要概述ElasticSearch Query 查询方式详解1. Match 查询(全文搜索)1.1 Match 查询示例1.2 Match 查询参数扩展 2. Term 查询(精准查询)2.1 Term 查询示例2.2 Terms 查询 3. Bool 查询&#xff08…...

HTML5贪吃蛇游戏开发经验分享

HTML5贪吃蛇游戏开发经验分享 这里写目录标题 HTML5贪吃蛇游戏开发经验分享项目介绍技术栈核心功能实现1. 游戏初始化2. 蛇的移动控制3. 碰撞检测4. 食物生成 开发心得项目收获后续优化方向结语 项目介绍 在这个项目中,我使用HTML5 Canvas和原生JavaScript实现了一…...

桥接模式_结构型_GOF23

桥接模式 桥接模式(Bridge Pattern)是一种结构型设计模式,核心思想是将抽象与实现分离,使两者能独立变化。它像一座连接两岸的桥梁,让“抽象层”和“实现层”自由组合,避免因多维度变化导致的“类爆炸”问…...

卡尔曼滤波入门(二)

核心思想 卡尔曼滤波的核心就是在不确定中寻找最优,那么怎么定义最优呢?答案是均方误差最小的,便是最优。 卡尔曼滤波本质上是一种动态系统状态估计器,它回答了这样一个问题: 如何从充满噪声的观测数据中&#xff0c…...

有关pip与conda的介绍

Conda vs. Pip vs. Virtualenv 命令对比 任务Conda 命令Pip 命令Virtualenv 命令安装包conda install $PACKAGE_NAMEpip install $PACKAGE_NAMEX更新包conda update --name $ENVIRONMENT_NAME $PACKAGE_NAMEpip install --upgrade $PACKAGE_NAMEX更新包管理器conda update con…...

【Portainer】Docker可视化组件安装

Portainer Portainer 是用于管理容器化环境的一体化平台工程解决方案,提供广泛的定制功能,以满足个人开发人员和企业团队的需求。 官方地址: https://www.portainer.io/ 安装 在 WSL / Docker Desktop 上使用 Docker 安装 Portainer CE 通过命令或UI页…...

基于深度神经网络的图像防篡改检测方法研究

标题:基于深度神经网络的图像防篡改检测方法研究 内容:1.摘要 随着数字化时代的发展,图像篡改现象日益普遍,严重影响了图像信息的真实性和可靠性。本文旨在研究基于深度神经网络的图像防篡改检测方法,以有效识别被篡改的图像。通过收集大量真…...

MATLAB导入Excel数据

假如Excel中存在三列数据需要导入Matlab中。 保证该Excel文件与Matlab程序在同一目录下。 function [time, voltage, current] test(filename)% 读取Excel文件并提取时间、电压、电流数据% 输入参数:% filename: Excel文件名(需包含路径,如C:\data\…...

华为GaussDB数据库的手动备份与还原操作介绍

数据库的备份以A机上的操作为例。 1、使用linux的root用户登录到GaussDB服务器。 2、用以下命令切换到 GaussDB 管理员用户,其中,omm 为当前数据库的linux账号。 su - omm 3、执行gs_dump命令进行数据库备份: 这里使用gs_dump命令进行备…...

MySQL数据库BUG导致查询不到本该查到的数据

在数据库的日常使用中,我们常常会遇到一些看似匪夷所思的查询问。最近就看到一个因为MySQL BUG导致无法查到本该查询到数据的案例。 1. 问题背 数据库版本:MySQL8.0.40 假设我们创建了一个名为 product_info 的表,用于存储产品的相关信息。该…...

Dubbo(25)如何配置Dubbo的协议和端口?

配置Dubbo的协议和端口是设置分布式服务通信的基础步骤。Dubbo支持多种协议(如Dubbo、RMI、HTTP等),你可以根据需求选择合适的协议并配置相应的端口。下面以一个完整的Spring Boot项目为例,详细介绍如何配置Dubbo的协议和端口。 …...

服务器磁盘卷组缓存cache设置介绍

工具1: storcli a. 确认软件包是否安装 [rootlocalhost ~]#rpm -qa | grep storcli storcli-1.21.06-1.noarch 备注:若检索结果为空,需要安装对应的软件安装包。安装命令如下: #rpm -ivh storcli-xx-xx-1.noarch.rpm b. 查看逻辑…...

StarVector:开启多模态SVG生成的新纪元——开源AI模型的革新之作

在AI技术蓬勃发展的今天,图像生成模型已不再局限于像素级的输出。StarVector作为一款开源的多模态SVG生成模型,凭借其独特的代码与视觉融合能力,正在重新定义矢量图形的创作方式。它不仅让图像生成更灵活、更轻量化,还为设计师、开…...

MySQL日期时间函数

函数分类 函数名 功能描述 语法示例 获取当前日期和时间 NOW() 返回包含年、月、日、时、分、秒的完整时间戳,格式为 YYYY-MM-DD HH:MM:SS SELECT NOW(); CURDATE() / CURRENT_DATE() 获取当前日期,格式为 YYYY-MM-DD SELECT CURDATE(); 或 SE…...

WinSCP使用教程:(SFTP、SCP、FTP 和 WebDAV)

WinSCP 是一款免费开源的 Windows 环境下的 SFTP、SCP、FTP 和 WebDAV 客户端,主要用于在本地计算机与远程服务器之间安全地传输文件,并提供基本的文件管理功能。 WinSCP是Windows环境下使用SSH的开源图形化的SFTP的客户端 SSH 的全称是 Secure Shell&…...

备份是个好习惯

##解题思路 首先看到题目说备份是个好习惯,说明可能存在备份文件泄露 用dirsearch或者其他的目录扫描工具扫一扫,发现两个网址状态码正常,其中一个刚好是.bak的备份文件 至于flag文件,无法读取源码,都是空的 下载备份…...

centos 7 LVM管理命令

物理卷(PV)管理命令 pvcreate:用于将物理磁盘分区或整个磁盘创建为物理卷。 示例:sudo pvcreate /dev/sdb1 解释:将 /dev/sdb1 分区创建为物理卷。 pvdisplay:显示物理卷的详细信息,如大小、所属…...

使用 Spring Boot 3.2 集成 MinIO 8.5:实现高效对象存储

摘要 MinIO 是一款高性能的分布式对象存储服务,与云原生应用完美契合。本文将手把手教你如何在 Spring Boot 3.2 项目中集成 MinIO 8.5 版本,实现文件上传、下载和删除等核心功能,并提供完整代码示例和常见问题解决方案。 一、环境准备 JDK …...

【Qt】数据库管理

数据库查询工具开发学习笔记 一、项目背景与目标 背景:频繁编写数据库查询语句,希望通过工具简化操作,提升效率。 二、总体设计思路 1. 架构设计 MVC模式:通过Qt控件实现视图(UI),业务逻辑…...

C#:Time.deltaTime

目录 第一性原理:从最基本的问题开始 什么是Time.deltaTime? 1. 什么是“帧”? 2. 什么是“帧率”? 为什么需要它? 一个生活化的例子 更通俗的类比 在Unity中的特殊性 第一性原理:从最基本的问题开…...

鸿蒙富文本实践

01 鸿蒙中的文本展示-Text组件 Text 组件的普通用法和其他语言一样,可以直接使用字符串Text(我是一段文本) 通过点语法设置文本样式: Text(我是超长文本,超出的部分显示省略号。I am an extra long text, with ellipses displayed for any ex…...

【字符设备驱动开发–IMX6ULL】(二)Linux 设备号

【字符设备驱动开发–IMX6ULL】(二)Linux 设备号 文章目录 【字符设备驱动开发–IMX6ULL】(二)Linux 设备号1 设备号的组成2.设备号的分配 1 设备号的组成 为了方便管理,Linux 中每个设备都有一个设备号,设…...

Elasticsearch-实战案例

一、没有使用Elasticsearch的查询速度698ms 1.数据库模糊查询不走索引,在数据量较大的时候,查询性能很差。需要注意的是,数据库模糊查询随着表数据量的增多,查询性能的下降会非常明显,而搜索引擎的性能则不会随着数据增…...

电子文档安全管理系统V6.0接口backup存在任意文件下载漏洞

免责声明:本号提供的网络安全信息仅供参考,不构成专业建议。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我联系,我将尽快处理并删除相关内容。 漏洞描述 电子文档安全管理系统 V6.0 reso…...

jmeter web压力测试 压测

下载地址 Apache JMeter - Download Apache JMeter 1. 设置线程组 2. 设置http请求头 3. 设置http请求体 4. 设置结果条目 常用函数 ${__RandomString(8, abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789)}${__javaScript( ${__Random(1000, 10000)} /…...

FPGA学习篇——Verilog学习之寄存器的实现

1 寄存器理论 这里在常见的寄存器种加了一个复位信号sys_rst_n。(_n后缀表示复位信号低电平有效,无这个后缀的则表示高电平有效) 这里规定在时钟的上升沿有效,只有当时钟的上升沿来临时,输出out 才会改变,…...

CXL UIO Direct P2P学习

前言: 在CXL协议中,UIO(Unordered Input/Output) 是一种支持设备间直接通信(Peer-to-Peer, P2P)的机制,旨在绕过主机CPU或内存的干预,降低延迟并提升效率。以下是UIO的核心概念及UI…...

一键实现:谷歌表单转word(formtoword)

一键将 Google Forms 转换为 Word,最简单的方法 有些繁琐的工作让人倍感挫败,明明 应该 可以自动化。你精心制作了一份 Google Forms,收集了数据,现在需要在 Word 文档中分享其结构或内容。于是,你只能手动复制粘贴问…...

QT第六课------QT界面优化------QSS

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…...

一套SaaS多租户医疗云his源码,基于云计算的医院信息管理系统(云HIS)

基于云计算的医院信息管理系统(云HIS),通过SaaS服务模式提供。这种云HIS系统设计考虑了模板化、配置化、智能化和可扩展性,覆盖了基层医疗机构的核心工作流程,并且能够与监管系统无缝对接,满足未来的扩展需…...

DGNN-YOLO:面向遮挡小目标的动态图神经网络检测与追踪方法解析

一、算法结构与核心贡献 1.1 文章结构 采用经典五段式结构: ​引言:分析智能交通系统(ITS)中小目标检测与追踪的挑战,提出研究动机。​相关工作:综述小目标检测(YOLO系列、Faster R-CNN)、目标追踪(SORT、Transformer)和图神经网络(GNN)的进展。​方法论:提出DG…...

淘宝获取商品sku详情API接口如何调用?

以下是调用淘宝开放平台/万邦开放平台获取商品SKU详情API接口的具体步骤和示例: 一、API名称及参数 API名称:taobao.item.sku.get主要功能:获取指定商品SKU的详细信息,包括属性、价格、库存等。关键参数: num_iid&am…...

JavaScript 中的原型链与继承

JavaScript 是一种基于原型的编程语言,这意味着它的对象继承是通过原型链而非类的机制来实现的。原型链是 JavaScript 中对象与对象之间继承属性和方法的基础。本文将深入探讨 JavaScript 中的原型链和继承机制,帮助你理解这一重要概念。 一、原型&…...

晶晨S905L3A(B)-安卓9.0-开启ADB和ROOT-支持IPTV6-支持外置游戏系统-支持多种无线芯片-支持救砖-完美通刷线刷固件包

晶晨S905L3A(B)-安卓9.0-开启ADB和ROOT-支持IPTV6-支持外置游戏系统-支持多种无线芯片-支持救砖-完美通刷线刷固件包 适用型号:M401A、CM311-1a、CM311-1sa、B863AV3.1-M2、B863AV3.2-M、UNT403A、UNT413A、M411A、E900V22C、E900V22D、IP112H等等晶晨S905L3A(B)处…...

【MYSQL】Windows 下 CMD 操作数据库指南

0. 引言 在数据库的日常操作中,掌握通过 Windows 下的命令行工具(CMD)连接并操作数据库是一项重要技能。本指南将带您逐步完成 MYSQL 数据库的基本操作,包括使用 CMD 登录数据库、选择目标数据库、查看所有数据表,以及…...

RK3588,V4l2 读取Gmsl相机, Rga yuv422转换rgb (mmap)

RK3588, 使用V4l2 读取 gmsl 相机,获得yuv422格式图像, 使用 rga 转换 rgb 图像。减少cpu占用率. 内存管理方式采用 mmap… 查看相机信息 v4l2-ctl --all -d /dev/cam0 , 查看自己相机分辨率,输出格式等信息,对应修改后续代码测试… Driver Info:Driver name : rkcif…...

【多线程】单例模式和阻塞队列

目录 一.单例模式 1. 饿汉模式 2. 懒汉模式 二.阻塞队列 1. 阻塞队列的概念 2. BlockingQueue接口 3.生产者-消费者模型 4.模拟生产者-消费者模型 一.单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,其核心思想是确保…...

批量将 PDF 文档中的图片提取到指定文件夹

在 PDF 文档中,我们经常需要插入图片来丰富页面内容。然而,当我们需要提取 PDF 文件中的图片时,手动操作会显得非常繁琐。通常我们需要逐页打开 PDF,手动保存每一张图片,这不仅耗时,而且浪费精力。今天&…...

在bootstrap下实现万年历

因为开一个易经学习平台&#xff0c;开发了一个万年历&#xff0c;界面如下&#xff1a; 效果可以看&#xff1a;易学 相关代码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name&qu…...

基于python大数据的旅游可视化及推荐系统

博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;熟悉各种主流语言&#xff0c;精通java、python、php、爬虫、web开发&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;没有什么华丽的语言&#xff0…...

DeepSeek绘画工程与第三方通道整合架构解析

DeepSeek绘画工程与第三方通道整合架构解析 目录 系统架构设计技术实现细节核心功能模块创新点与优化策略运行效果展示总结与展望 一、系统架构设计 1.1 整体架构图&#xff08;Mermaid&#xff09; #mermaid-svg-EcuBlWPPCbUHg0gx {font-family:"trebuchet ms",v…...

单元测试的编写

Python 单元测试示例 在 Python 中&#xff0c;通常使用 unittest 模块来编写单元测试。以下是一个简单的示例&#xff1a; 示例代码&#xff1a;calculator.py # calculator.py def add(a, b):return a bdef subtract(a, b):return a - b 单元测试代码&#xff1a;test_c…...

附录C SLAC匹配过程命令定义与实际抓包

附录C SLAC匹配过程命令定义与实际抓包 ISO15118-3 附录A中规定了SLAC匹配过程中的请求命令及应答&#xff0c; 本文将会对比协议中的定义和实际抓包内容&#xff0c;以便读者获得直观的认识。 1 CM_SET_KEY.REQ 定义内容&#xff1a; 实际数据&#xff1a; 注意报文中的 08…...

数据结构 KMP 字符串匹配算法

KMP算法是计算机科学中的一种字符串匹配算法&#xff0c;KMP是三个创始人名字首字母 题目 AcWing - 算法基础课 前置知识点 KMP算法是一种高效的字符串匹配算法&#xff0c;算法名称取自于三位共同发明人名字的首字母组合。该算法的主要使用场景就是在字符串&#xff08;也叫…...

从零构建大语言模型全栈开发指南:第三部分:训练与优化技术-3.3.2参数高效微调:LoRA与适配器(Adapter)技术

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 从零构建大语言模型全栈开发指南 -第三部分:训练与优化技术-3.3.2 参数高效微调:LoRA与适配器(Adapter)技术1. 参数高效微调(PEFT)的背景与意义2. LoRA(低秩适配器)技术详解2.1 核心原理与数学表…...

YOLOv8-YOLO12目标检测模型的标签格式和数据结构详细说明

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…...

从零开始学习SQL

1.1 MySQL概述 1. 数据管理技术的发展过程 数据库技术是应数据管理任务的需要而产生的 a. 什么是数据管理 ** 对数据进行收集、分类、组织、编码、存储、检索和维护一系列活动的总和 **b. 数据管理技术的发展过程 人工管理阶段&#xff08;20世纪50年代中之前&#xff09;…...

北斗导航 | 基于因子图优化的GNSS/INS组合导航完好性监测算法研究,附matlab代码

以下是一篇基于因子图优化(FGO)的GNSS/INS组合导航完好性监测算法的论文框架及核心内容,包含数学模型、完整Matlab代码及仿真分析基于因子图优化的GNSS/INS组合导航完好性监测算法研究 摘要 针对传统卡尔曼滤波在组合导航完好性监测中对非线性与非高斯噪声敏感的问题,本文…...

深入剖析 JVM:从组成原理到调优实践

深入剖析 JVM&#xff1a;从组成原理到调优实践 深入剖析 JVM&#xff1a;从组成原理到调优实践一、JVM 组成架构&#xff1a;运行 Java 程序的 “幕后引擎”1.1 内存结构&#xff1a;数据存储的 “分区管理”1.2 执行引擎&#xff1a;字节码的 “翻译官”1.3 本地方法接口&…...

rust学习笔记21-闭包

在 Rust 中&#xff0c;闭包&#xff08;Closures&#xff09; 是一种可以捕获其环境中的变量的匿名函数。它们非常灵活&#xff0c;既可以作为普通函数使用&#xff0c;也可以捕获和操作定义它们的作用域中的变量。闭包是 Rust 中处理短小逻辑代码块的强大工具&#xff0c;特别…...