编写派生的赋值运算符重载函数
2026/7/12 23:34:17
| 概念 | MySQL | Elasticsearch | 理解 |
|---|---|---|---|
| 库/表 | Database/Table | Index (索引) | 相当于一个大文件夹。 |
| 行 | Row | Document (文档) | 相当于文件夹里的一张卡片(JSON格式)。 |
| 字段 | Column | Field | 卡片上的具体信息。 |
status要么全是字符串,要么全是数字),避免冲突和性能浪费。profile_index,案件存case_index,互不干扰。group_ids: ["1", "2"]),这是 ES 处理多值数据的杀手锏。在 Java 代码中拼接字符串执行脚本,是为了原子性更新。
在new Script(type, lang, code, params)中:
type:脚本类型。inline(默认):代码写在请求里(最常用)。stored:代码预存于 ES,这里传 ID。lang:脚本语言。painless(默认):ES 专用语言,安全高效。code:脚本代码(字符串)。ctx._source.age += 1。params:外部参数(Map)。groupId)传进脚本里,在脚本中通过params.xxx访问。ctxctx:固定写法,代表“上下文”。ctx._source:最常用,代表当前文档的 JSON 数据。ctx._source['name']ctx._source['group_id'] = 新值ES 是存 JSON 的,一个索引只存一种卡。为了改数据不丢,逻辑发给 ES 自己跑(Script),ctx代表卡,params传参数。