原理图引用自一文彻底搞懂 Elasticsearch原理、场景、避坑与优化1 ElasticsearchElasticsearch是什么 是一个基于 Apache Lucene 的分布式搜索和数据分析引擎常用于全文搜索、日志分析、安全监控、业务分析和运维监控等场景。Elasticsearch 应用场景适合需要快速搜索和分析海量数据的场景尤其是传统关系型数据库难以高效处理全文检索和大规模日志分析时。2 起源这个应用最初叫 iCook可以理解为一个给妻子用的“菜谱管理 菜谱搜索”小程序。当时 Shay Banon 刚到伦敦妻子正在学习烹饪他需要一个工具帮她管理、查找烹饪课程中收集到的菜谱和烹饪信息。这个应用的核心能力大致包括菜谱管理保存菜谱、配料、步骤等信息。关键词搜索在搜索框里输入食材、菜名、做法或概念快速找到相关菜谱。文本分词匹配字段检索按配料、菜名、分类等字段查找而不只是简单匹配文本。 关键词精准匹配阶段背景结果2004 年前后Shay Banon 想为正在学厨师的妻子做一个食谱搜索应用直接使用 Lucene 太复杂于是封装了一个更易用的 Java 搜索框架Compass2010 年前后他在工作中接触高并发、分布式场景发现需要一个可扩展、实时、易用的搜索服务重写 Compass加入分布式架构发布Elasticsearch首个版本2012 年起开源社区快速增长企业级需求增多成立 Elasticsearch 公司后更名为Elastic并与 Logstash、Kibana 组成ELK / Elastic Stack它解决了什么问题Lucene 强大但难用传统数据库不擅长全文搜索关系型数据库在模糊匹配、全文检索、海量日志分析上效率较低。传统数据库单机搜索不够用数据量变大后需要分布式、可水平扩展、近实时搜索。3 原理3.1 倒排索引 快速匹配文本中的内容返回docId把文本拆成词项再建立“词项 → 文档”的反向映射结构。正向 vs 倒排索引类型组织方式查询方式正向索引文档 → 词项要知道文档里有什么得看文档本身倒排索引词项 → 文档知道一个词就能直接找到包含它的文档例如写入一条数据PUT/products/_doc/1{name:苹果 iPhone 15 手机,price:5999,category:手机}文本拆成词项苹果iPhone 15手机建立“词项 → 文档”的反向映射结构。| 词项 | 文档ID ||—|—|| 苹果 | 1 || iPhone | 1 || 15 | 1 || 手机 | 1 |3.2 Doc Values 根据分类进行查找配合倒排索引使用为 price、category 建立 Doc Values即 docId → 字段值 的正向映射。通过倒排索引或范围索引分别获得满足 price 条件和 category 条件的 docId 集合。对多个 docId 集合取交集得到同时满足条件的候选 docId 集合。再根据候选 docId从 Doc Values 中读取对应的字段值用于后续排序、聚合或返回。Doc Values 是按 docId 顺序存储字段值的列式结构具体实现可能是压缩数组、字典编码或有序值列表。4 具体命令使用Elasticsearch 的日常操作几乎都通过 REST API 完成下面按「查看状态 → 索引管理 → 文档读写 → 搜索查询」的顺序把最常用的命令整理一遍。示例默认在 Kibana Dev Tools 中执行用 curl 时把GET /xxx换成curl -XGET http://localhost:9200/xxx即可。4.1 集群与节点查看_cluster# 集群健康状态green/yellow/redGET _cluster/health# 节点列表与角色GET _cat/nodes?vhname,node.role,heap.percent,cpu,load_1m# 集群统计信息GET _cluster/stats# 查看热点线程排查 CPU 飙高GET _nodes/hot_threads4.2 索引管理 /products/_mapping# 创建索引指定分片数和副本数PUT /products{settings:{number_of_shards:3,number_of_replicas:1}}# 查看索引列表GET _cat/indices?v# 查看索引的映射GET /products/_mapping# 修改副本数PUT /products/_settings{number_of_replicas:2}# 删除索引DELETE /products4.3 文档读写/products/_doc /products/_bulk# 写入一条文档指定 IDPUT /products/_doc/1{name:苹果 iPhone 15 手机,price:5999,category:手机}# 写入文档不指定 ID由 ES 自动生成POST /products/_doc{name:小米 14 手机,price:3999,category:手机}# 按 ID 查询GET /products/_doc/1# 更新部分字段POST /products/_update/1{doc:{price:5499}}# 删除文档DELETE /products/_doc/1# 批量写入POST /products/_bulk{index:{_id:2}}{name:华为 Mate 60,price:6999,category:手机}{index:{_id:3}}{name:iPad Air,price:4799,category:平板}4.4 搜索查询/products/_search# 查询全部GET /products/_search{query:{match_all:{}}}# 全文检索name 字段包含「手机」GET /products/_search{query:{match:{name:手机}}}# 精确匹配 范围过滤GET /products/_search{query:{bool:{must:[{match:{name:手机}}],filter:[{range:{price:{gte:4000,lte:7000}}}]}}}# 排序 分页 只返回部分字段GET /products/_search{query:{match_all:{}},sort:[{price:desc}],from:0,size:10,_source:[name,price]}# 聚合按分类统计数量与平均价格GET /products/_search{size:0,aggs:{by_category:{terms:{field:category},aggs:{avg_price:{avg:{field:price}}}}}}
企业数字化 ERP 产品动态
相关推荐
2026费控系统选型:一线财务实测的5个硬指标,避开3个落地坑 我在制造业财务岗干了十几年,近两年参与过三次费控系统选型,前后看过十几家产品。写这篇评测的原因很实际:选型时厂商演示都好看,落地后差距全在细节里。这篇文章讲清楚我验证费控系统的5个关键硬指标、3个最常见的坑,… · 2026/11/4 12:04:56
F-《AI接口协议:API调模型、MCP接工具、A2A连Agent》 目录
一、API(以 "标准 OpenAI 接口" 为代表)
1.1 请求
1.2 成功响应 &❌ 失败响应
二、MCP(Model Context Protocol,模型上下文协议)
2.1 请求(握手&调用)
2.2 成功响… · 2026/11/4 12:04:56
AD创建一体多个部件流程 最近在画RK3576的板子,发现这个元器件的引脚接近七百多个,要是直接用厂家提供的元件图难免画图不方便,只能自己处理这种超多引脚器件的标准行业做法是:采用多部件符号(Multi-Part Component),并… · 2026/11/4 12:03:54
Kubernetes网络高可用验证与主流插件对比 1. Kubernetes网络高可用验证的必要性 在生产环境中部署Kubernetes集群时,网络组件的稳定性直接决定了整个集群的可用性。我们团队在对某金融系统进行容器化改造时,曾遇到过因网络插件单点故障导致整个业务线瘫痪的严重事故。那次事件让我们深刻认识到&a… · 2026/11/4 12:41:27
机器人技能学习与运动原语技术解析 1. 具身智能中的技能学习本质 在机器人控制领域,技能学习(Skill Learning)是指智能体通过与环境交互获得可重复使用的动作模式的过程。这就像婴儿学习抓握物品时,并非每次都要从零开始思考肌肉如何协调,而是逐渐形成一… · 2026/11/4 12:41:27
宝塔面板漏洞利用与Windows提权实战 1. 项目背景与核心价值 在渗透测试和系统安全评估中,Windows提权始终是攻防对抗的核心战场。这次要分享的实战案例,聚焦于通过宝塔面板漏洞实现权限绕过,结合MSF(Metasploit Framework)和CS(Cobalt Strike&… · 2026/11/4 12:41:27
大体积资源包高效处理技术解析 1. 项目背景与核心价值 "DragonSlayer 2.8GB"这个项目名称让我联想到高性能计算或游戏开发领域的资源包。从文件体积来看,2.8GB的体量通常包含以下可能性: 游戏模组/扩展包 3D建模资源库 科学计算数据集 多媒体素材集合 在实际开发中&… · 2026/11/4 12:41:27
安全测试环境搭建与权限提升技术实践 1. 安全测试环境搭建基础 在开始任何形式的系统权限测试前,搭建合规的本地实验环境是首要任务。我通常采用VMware Workstation Pro 16配合Windows Server 2019评估版镜像,这个组合经过多次测试验证具有最佳兼容性。虚拟机配置建议分配4核CPU、8GB内存和1… · 2026/11/4 12:41:27
MySQL数据库操作实战:从设计到优化全流程 1. 数据库操作全流程解析 数据库作为现代信息系统的核心组件,其操作能力直接影响开发效率和数据可靠性。我经历过多个从零搭建的数据库项目,深刻理解从基础表结构设计到复杂查询优化的完整链路。本文将系统梳理MySQL环境下(原理通用其他数据库… · 2026/11/4 12:40:27
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38
AI辅助技术栈评估:提升研发决策效率60% 1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17
从生成Token到直接决策:Jev如何重塑AI Agent工程实践 1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17
32G统一内存跑大模型:内存账、TPS实测与端云分流 想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38