news 2026/10/6 17:30:56

Elasticsearch (ES) 核心笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Elasticsearch (ES) 核心笔记
1. 整体概念:ES vs MySQL
概念MySQLElasticsearch理解
库/表Database/TableIndex (索引)相当于一个大文件夹。
行RowDocument (文档)相当于文件夹里的一张卡片(JSON格式)。
字段ColumnField卡片上的具体信息。
  • 一个索引包含多个文档。
  • 一个文档是一个 JSON 对象。
  • 这个 JSON 对象里可以包含多个字段,字段的值可以是字符串、数字,也可以是嵌套的子对象。
2. 核心特性
  • 一个索引只对应一种类型:
    • 现状:ES 7.x+ 已移除 Type 概念。一个索引只能存一种结构的文档。
    • 原因:底层 Lucene 引擎要求字段类型统一(比如status要么全是字符串,要么全是数字),避免冲突和性能浪费。
    • 实践:人员档案存profile_index,案件存case_index,互不干扰。
  • 文档是 JSON:
    • 支持复杂结构,如数组(group_ids: ["1", "2"]),这是 ES 处理多值数据的杀手锏。
3. 为什么使用 Script(脚本)?

在 Java 代码中拼接字符串执行脚本,是为了原子性更新。

  • 痛点:如果先查出来 -> 改 -> 写回去,高并发下容易造成数据覆盖(丢数据)。
  • 方案:把“修改逻辑”发给 ES,让 ES 在服务端内存里直接改。
  • 好处:线程安全(不会丢数据)、性能高(数据不用在网络间传输)。
4. Script 脚本参数详解

在new Script(type, lang, code, params)中:

  1. type:脚本类型。
    • inline(默认):代码写在请求里(最常用)。
    • stored:代码预存于 ES,这里传 ID。
  2. lang:脚本语言。
    • painless(默认):ES 专用语言,安全高效。
  3. code:脚本代码(字符串)。
    • 真正的逻辑,如ctx._source.age += 1。
  4. params:外部参数(Map)。
    • 用来把 Java 里的变量(如groupId)传进脚本里,在脚本中通过params.xxx访问。
5. 脚本中的核心变量ctx
  • ctx:固定写法,代表“上下文”。
  • ctx._source:最常用,代表当前文档的 JSON 数据。
    • 读取:ctx._source['name']
    • 修改:ctx._source['group_id'] = 新值

终极总结

ES 是存 JSON 的,一个索引只存一种卡。为了改数据不丢,逻辑发给 ES 自己跑(Script),ctx代表卡,params传参数。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/6 3:04:07

ms-swift生态全景:训练/推理/评测/部署一气呵成

ms-swift生态全景:训练/推理/评测/部署一气呵成 你是否经历过这样的场景:花三天配好环境,跑通第一个微调脚本,结果发现模型效果平平;想换种算法试试DPO,又得重写数据加载逻辑;好不容易训完模型&…

作者头像 李华
网站建设 2026/10/6 3:30:24

RMBG-2.0镜像免配置DevOps实践:GitHub Actions自动构建+镜像推送

RMBG-2.0镜像免配置DevOps实践:GitHub Actions自动构建镜像推送 1. 引言 在当今内容创作和电商运营领域,图像背景去除是一个高频需求。传统手动抠图不仅耗时耗力,对复杂边缘(如头发、透明物体)的处理效果也往往不尽如…

作者头像 李华
网站建设 2026/10/6 0:52:17

三步解决TMDB图片访问难题:MoviePilot的创新方案

三步解决TMDB图片访问难题:MoviePilot的创新方案 【免费下载链接】MoviePilot NAS媒体库自动化管理工具 项目地址: https://gitcode.com/gh_mirrors/mo/MoviePilot 在NAS媒体库自动化管理工具MoviePilot的使用过程中,TMDB图片访问问题常常困扰着国…

作者头像 李华
网站建设 2026/10/6 2:33:03

RMBG-2.0多场景落地:直播切片素材提取、虚拟主播绿幕替换预处理

RMBG-2.0多场景落地:直播切片素材提取、虚拟主播绿幕替换预处理 1. 背景移除技术新标杆 RMBG-2.0是BRIA AI开源的新一代背景移除模型,基于BiRefNet(Bilateral Reference Network)架构,通过双边参考机制同时建模前景与…

作者头像 李华
网站建设 2026/10/5 5:26:28

RTX 4090优化版Qwen2.5-VL-7B-Instruct:一键部署视觉助手

RTX 4090优化版Qwen2.5-VL-7B-Instruct:一键部署视觉助手 1. 这不是另一个“能看图”的模型,而是一个真正开箱即用的本地视觉工作台 你有没有过这样的经历: 截了一张网页,想快速转成可运行的HTML代码,却要上传到某个…

作者头像 李华
网站建设 2026/10/6 8:40:47

Qwen-Image-Layered上手体验:比PS图层还清晰?

Qwen-Image-Layered上手体验:比PS图层还清晰? 一句话说清它能做什么 Qwen-Image-Layered 不是生成一张图,而是把一张图“拆开”——自动分解为多个带透明通道的独立图层,每个图层可单独移动、缩放、调色、隐藏,就像在P…

作者头像 李华