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

Elasticsearch核心数据单元:Document文档详解及存储检索全流程

Elasticsearch核心数据单元Document文档详解及存储检索全流程一、前言二、Elasticsearch Document基础定义2.1 什么是 Document 文档2.2 文档核心特点2.3 ES vs MySQL 概念对应三、Document 文档完整结构元数据 业务数据3.1 元数据元信息控制文档行为3.2 标准文档示例四、Elasticsearch 文档存储与检索流程图4.1 文档存储写入流程图4.2 文档检索查询流程图4.3 流程一句话总结五、如何存储写入Document 文档5.1 存储方式1指定 ID 存储推荐5.2 存储方式2自动生成 ID 存储5.3 存储核心规则六、如何检索查询Document 文档6.1 检索方式1根据 ID 精确查询最快6.2 检索方式2全文检索最常用6.3 检索方式3条件过滤查询6.4 检索方式4查询所有文档七、文档核心操作增删改查CRUD实战7.1 创建PUT/POST7.2 查询GET7.3 修改POST 更新7.4 删除DELETE八、Document 文档核心特性8.1 不可变特性8.2 动态映射8.3 支持嵌套文档8.4 高性能检索九、文档存储与检索常见问题避坑9.1 问题1ID 相同会覆盖数据9.2 问题2查询不到数据9.3 问题3写入性能慢十、总结文档核心要点文末总结总结The Begin点点关注收藏不迷路一、前言在 Elasticsearch 面向文档的分布式架构中Document文档是最顶层、最核心、最终存储的数据单元。可以说ES 里一切数据都是文档一切操作围绕文档展开。很多新手不理解文档结构、元数据、存储路由规则导致写入失败、查询不到数据、数据分布不均。本文从文档定义、结构、元数据、存储原理、检索流程、实战命令、流程图全方位讲解让你彻底掌握 ES 文档。二、Elasticsearch Document基础定义2.1 什么是 Document 文档Document文档Elasticsearch 中可被索引、可被搜索的最小数据单元以JSON 格式存储。它相当于 MySQL 数据库中的一行数据Row但比关系型数据更灵活、支持嵌套结构。2.2 文档核心特点JSON 结构轻量、易读、支持嵌套无固定结构不同文档字段可不同动态映射自带唯一标识_id字段被分词、被索引可被快速检索属于索引IndexIndex ≈ 数据库Document ≈ 行2.3 ES vs MySQL 概念对应ElasticsearchMySQLIndex索引Database库Document文档Row行Field字段Column列Mapping映射Schema表结构三、Document 文档完整结构元数据 业务数据一个完整文档分为两部分元数据系统业务数据自定义3.1 元数据元信息控制文档行为_index文档属于哪个索引_id文档唯一 ID主键_source原始 JSON 数据_version版本号并发控制_score搜索相关性评分3.2 标准文档示例{_index:user_index,// 索引_id:1001,// 唯一ID_version:1,// 版本_score:1.0,// 评分_source:{// 真实业务数据name:张三,age:25,city:北京,interest:篮球、游泳}}四、Elasticsearch 文档存储与检索流程图4.1 文档存储写入流程图渲染错误:Mermaid 渲染失败: Parse error on line 3: ... C[路由算法shard hash(_id) % 主分片数]C -- -----------------------^ Expecting SQE, DOUBLECIRCLEEND, PE, -), STADIUMEND, SUBROUTINEEND, PIPE, CYLINDEREND, DIAMOND_STOP, TAGEND, TRAPEND, INVTRAPEND, UNICODE_TEXT, TEXT, TAGSTART, got PS4.2 文档检索查询流程图客户端查询请求协调节点广播到所有分片/指定分片并行检索文档收集所有结果排序/评分/分页返回最终文档4.3 流程一句话总结存储ID 哈希路由 → 主分片写入 → 同步副本检索广播查询 → 并行搜索 → 合并返回五、如何存储写入Document 文档5.1 存储方式1指定 ID 存储推荐PUT /user_index/_doc/1001 { name: 张三, age: 25, city: 北京, create_time: 2025-01-01 }适用订单 ID、用户 ID 有业务主键场景5.2 存储方式2自动生成 ID 存储POST /user_index/_doc { name: 李四, age: 28, city: 上海 }特点ES 自动生成唯一字符串 ID5.3 存储核心规则文档通过_id哈希取模路由分片主分片写入成功才会同步副本写入成功 高可用六、如何检索查询Document 文档6.1 检索方式1根据 ID 精确查询最快GET /user_index/_doc/1001特点直接路由分片毫秒级返回6.2 检索方式2全文检索最常用GET /user_index/_search { query: { match: { name: 张三 } } }6.3 检索方式3条件过滤查询GET /user_index/_search { query: { term: { city: 北京 } } }6.4 检索方式4查询所有文档GET /user_index/_search { query: { match_all: {} } }七、文档核心操作增删改查CRUD实战7.1 创建PUT/POSTPUT /index/_doc/id7.2 查询GETGET /index/_doc/id7.3 修改POST 更新POST /index/_doc/1001/_update { doc: { age: 26 } }7.4 删除DELETEDELETE /index/_doc/1001八、Document 文档核心特性8.1 不可变特性文档写入后不能修改修改 删除旧文档 创建新文档通过_version控制版本8.2 动态映射无需提前定义结构自动识别字段类型字符串/数字/日期8.3 支持嵌套文档{name:张三,address:{province:广东,city:深圳}}8.4 高性能检索基于倒排索引支持分词、模糊、精确、范围、聚合等查询九、文档存储与检索常见问题避坑9.1 问题1ID 相同会覆盖数据原因PUT 相同 ID 会执行更新操作解决使用_create强制新增9.2 问题2查询不到数据原因字段类型错误text/keyword、分词不匹配解决检查 Mapping 类型9.3 问题3写入性能慢原因分片数不合理、副本过多解决合理规划分片十、总结文档核心要点文档是 ES 最小数据单元JSON 格式存储 路由分片 主写副同步检索 广播查询 并行处理 结果合并元数据_id、_index、_source是核心支持 CRUD、全文检索、精确查询文末总结Document 文档是 Elasticsearch 一切功能的基础。理解文档 理解 ES 数据模型。存储依靠路由算法实现分布式检索依靠倒排索引实现高性能所有业务最终都落地为文档的增删改查掌握文档存储与检索你就掌握了 ES 最核心的使用能力。总结Document 定义ES最小数据单元JSON 格式类似数据库行数据文档结构元数据_id/_index/_source 业务字段存储流程协调节点 → 哈希路由 → 主分片写入 → 同步副本检索流程协调节点 → 广播分片 → 并行查询 → 合并结果核心操作PUT写入、GET查询、POST更新、DELETE删除The End点点关注收藏不迷路

相关文章:

Elasticsearch核心数据单元:Document文档详解及存储检索全流程

Elasticsearch核心数据单元:Document文档详解及存储检索全流程一、前言二、Elasticsearch Document:基础定义2.1 什么是 Document 文档?2.2 文档核心特点2.3 ES vs MySQL 概念对应三、Document 文档:完整结构(元数据 …...

Elasticsearch 核心架构:Cluster(集群)详解及核心作用

Elasticsearch 核心架构:Cluster(集群)详解及核心作用一、前言二、Elasticsearch Cluster:基础定义2.1 什么是 Elasticsearch 集群?2.2 集群核心特点2.3 集群组成三、Elasticsearch 集群:架构流程图3.1 集群…...

保姆级教程:在S32K312上配置EMIOS0生成PWM信号(附完整代码)

S32K312实战:EMIOS0模块PWM信号生成全流程解析与避坑指南 在汽车电子和工业控制领域,PWM信号生成是微控制器最基础却至关重要的功能之一。NXP的S32K3系列凭借其强大的EMIOS(增强型模块化IO子系统)模块,为电机控制、LED…...

AD9361上电后必须做的10项校准,一个都不能少(附避坑指南)

AD9361射频芯片上电校准全流程实战指南 第一次接触AD9361的工程师常会遇到这样的场景:按照手册完成硬件设计后,上电测试却发现接收信号质量不稳定,或是发射频谱出现异常杂散。这些问题八成与校准流程有关——作为一款高度集成的射频收发器&am…...

嵌入式工程师避坑指南:RK817 PMU在无电池场景下的5个关键配置点

嵌入式工程师避坑指南:RK817 PMU在无电池场景下的5个关键配置点 RK3568平台凭借其出色的性能和丰富的接口资源,已成为嵌入式领域的热门选择。然而在实际项目中,许多工程师在使用RK817电源管理单元(PMU)时,常…...

如何用 event.composedPath 获取事件触发经过的所有节点

event.composedPath()用于获取事件在Shadow DOM中的完整传播路径,返回从目标节点到根节点的数组;适用于Web Components中跨Shadow边界精准判断事件来源或委托。event.composedPath() 是一个用于获取事件在 Shadow DOM 中传播路径的方法,它返回…...

一次由Nginx的proxy_pass尾随斜杠引发的重定向循环

一次由Nginx的proxy_pass尾随斜杠引发的重定向循环 在Web服务器配置中,Nginx的proxy_pass指令是反向代理的核心组件,但一个看似微不足道的斜杠差异可能导致严重的重定向循环问题。某次线上服务突然出现大量HTTP 302跳转,最终发现是proxy_pas…...

别再混淆了!FPGA开发中SRAM、RegFile和Block RAM到底该怎么选?

FPGA开发中SRAM、RegFile与Block RAM的黄金选择法则 在FPGA设计的世界里,存储资源的选择往往决定了整个系统的性能上限。当项目从仿真阶段转入实际硬件实现时,许多工程师会突然发现:那些在RTL代码中运行良好的存储结构,一旦映射到…...

如何用 cookie 的 HttpOnly 与 Secure 属性防范 XSS 攻击

HttpOnly 和 Secure 属性协同防护 Cookie:HttpOnly 禁止 JavaScript 读取 Cookie 防 XSS 窃取,Secure 强制仅 HTTPS 传输防 MITM 截获;二者必须同时启用,并配合 SameSite(Lax/Strict)增强安全。HttpOnly 和…...

iVX实战:手把手教你用零代码搭建一个企业内部OA系统(含表单和流程)

iVX实战:零代码构建企业OA系统的完整指南 当创业团队扩张到20人以上时,行政主管小张发现纸质审批流程已经严重拖累效率——报销单在部门间传递经常丢失,请假记录难以追踪统计。传统软件开发动辄数十万的报价和三个月起步的开发周期&#xff0…...

MySQL Explain 执行计划性能对比

MySQL Explain执行计划性能对比:优化查询的关键利器 在数据库性能优化中,MySQL的Explain执行计划是分析SQL查询效率的重要工具。通过Explain,开发者可以直观地了解查询的执行路径、索引使用情况以及潜在的性能瓶颈。本文将从多个角度对比Exp…...

SurveyKing企业级问卷系统部署挑战与高可用架构解决方案

SurveyKing企业级问卷系统部署挑战与高可用架构解决方案 【免费下载链接】SurveyKing One command to deploy a more powerful, self‑hosted alternative to SurveyMonkey. 项目地址: https://gitcode.com/gh_mirrors/su/SurveyKing 在当今数字化转型浪潮中&#xff0c…...

从花瓶到咖啡杯:SolidWorks抽壳命令的两种高级用法,CaTICs 3D01-01与3D05_L02-B对比教学

从花瓶到咖啡杯:SolidWorks抽壳命令的两种高级用法实战解析 在工业设计领域,抽壳命令看似简单,却能直接影响建模效率与成品质量。今天我们就以CaTICs竞赛中的两个经典案例——轴对称花瓶(3D01-01)与带手柄斜口杯&#…...

还在为电路板文件查看烦恼?OpenBoardView让你轻松掌握.brd文件分析

还在为电路板文件查看烦恼?OpenBoardView让你轻松掌握.brd文件分析 【免费下载链接】OpenBoardView View .brd files 项目地址: https://gitcode.com/gh_mirrors/op/OpenBoardView 你是否曾经面对复杂的电路板.brd文件感到无从下手?作为电子工程师…...

终极Python m3u8下载器:如何快速解密并批量下载加密视频的完整指南

终极Python m3u8下载器:如何快速解密并批量下载加密视频的完整指南 【免费下载链接】m3u8_downloader 项目地址: https://gitcode.com/gh_mirrors/m3/m3u8_downloader 你是否曾经遇到过想要保存在线课程、收藏精彩视频,却因为复杂的加密技术而束…...

别再只靠复位了!Xilinx FIFO IP核清空的三种实战方法(附Verilog代码)

深度掌握Xilinx FIFO IP核清空策略:三种高阶实现方案与实战解析 在FPGA数据流控制系统中,FIFO(先进先出队列)作为关键的数据缓冲组件,其清空操作的精确控制往往成为设计成败的分水岭。许多工程师习惯性地依赖全局复位信…...

如何用Notepad--这款国产跨平台编辑器提升你的文本处理效率?

如何用Notepad--这款国产跨平台编辑器提升你的文本处理效率? 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad-- …...

Python实现基于DD驱动的键盘R键连发功能

Python实现基于DD驱动的键盘R键连发功能 一、引言 1.1 项目背景 在游戏开发、自动化测试、辅助工具等领域,实现键盘按键的连发功能是一项常见需求。所谓“连发”,指的是当用户按住某个按键时,系统自动以一定的频率持续触发该按键的按下和释放事件,从而模拟极快的手动按键…...

DETR + SAM 实例分割集成中 SAM 精度低的全面诊断与解决方案:从问题定位到系统优化的完整技术指南

DETR + SAM 实例分割集成中 SAM 精度低的全面诊断与解决方案:从问题定位到系统优化的完整技术指南 摘要 Segment Anything Model (SAM) 作为图像分割领域的基础模型,凭借其强大的零样本泛化能力,已被广泛集成到各种下游任务中。DETR (Detection Transformer) 作为端到端目…...

背靠背VSC直流母线电压控制与同步发电机并网发散问题:原理、分析与解决方案

背靠背VSC直流母线电压控制与同步发电机并网发散问题:原理、分析与解决方案 摘要 背靠背电压源换流器(Back-to-Back VSC)是现代柔性直流输电和新能源并网系统的核心设备。在实际工程调试中,经常出现一个令人困扰的现象:当采用“三相电源-VSC-直流母线-VSC-三相电源”的背…...

1.3寸OLED 12864 SH1106中文字库屏:从硬件解析到中文显示实战

1. 1.3寸OLED 12864 SH1106屏幕初探 第一次拿到这块1.3寸OLED 12864屏幕时,最让我惊喜的是它内置的中文字库芯片。作为嵌入式开发者,我们经常需要在小尺寸屏幕上显示中文,传统做法要么是外挂字库芯片,要么是将字库烧录到Flash中&a…...

基于AI的智能邮件处理与自动回复系统

基于AI的智能邮件处理与自动回复系统 一、项目概述 1.1 背景与目标 在企业日常运营中,客服或销售团队每天会收到大量客户邮件。人工逐一阅读、判断客户公司类型并回复不仅效率低下,还容易出错。本项目构建一个AI智能体,能够: 自动抓取邮箱:通过IMAP协议定期轮询指定邮箱…...

CloudWatch 告警 AI 智能分析系统完整实战

告警触发 60 秒内,自动采集 5 类服务的真实监控数据,调用 Claude 生成深入根因分析报告存入 S3,同时推送精简版到 IM 群并附完整报告链接。 前言 痛点 运维收到告警后的标准动作:登录 Console → 查指标 → 查日志 → 查服务状态 → 判断原因,耗时 10-30 分钟。夜间告警…...

WorkshopDL:解锁Steam创意工坊的跨平台模组下载神器

WorkshopDL:解锁Steam创意工坊的跨平台模组下载神器 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否曾经在Epic Games Store或GOG平台购买了游戏,…...

Elasticsearch 运维必备:列出集群所有索引的5种方法(最全+图解+实战)

Elasticsearch 运维必备:列出集群所有索引的5种方法(最全图解实战)一、前言二、列出 ES 所有索引:整体流程流程图三、Elasticsearch 列出所有索引:核心命令3.1 方法1:_cat/indices(最常用、运维…...

从滴滴调度到高德导航:拆解大厂落地中的交通预测实战与选型思考

从滴滴调度到高德导航:工业级交通预测模型的实战选型指南 当你在深夜打开滴滴App,系统能在3秒内计算出司机到达时间;当高德地图为你避开拥堵路段时,背后是每分钟处理数百万次预测请求的AI系统。这些看似简单的功能,实则…...

艾尔登法环存档备份迁移终极指南:3分钟安全转移你的游戏进度

艾尔登法环存档备份迁移终极指南:3分钟安全转移你的游戏进度 【免费下载链接】EldenRingSaveCopier 项目地址: https://gitcode.com/gh_mirrors/el/EldenRingSaveCopier 艾尔登法环存档管理是每个褪色者都需要掌握的重要技能。EldenRingSaveCopier 是一个专…...

网盘直链下载助手:告别限速困扰的八大网盘全能解决方案

网盘直链下载助手:告别限速困扰的八大网盘全能解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…...

告别UI管理混乱:DoozyUI的UICanvas与UIView如何帮你构建可维护的Unity项目架构

告别UI管理混乱:DoozyUI的UICanvas与UIView如何帮你构建可维护的Unity项目架构 在开发中大型Unity项目时,UI系统的复杂度往往随着功能迭代呈指数级增长。当项目包含多个场景、数十个界面和数百个交互元素时,开发者常会遇到以下典型问题&#…...

终极免费AMD Ryzen调试工具:5分钟掌握处理器性能优化

终极免费AMD Ryzen调试工具:5分钟掌握处理器性能优化 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://git…...