news 2026/9/4 15:44:07

es文档操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
es文档操作

目录

一.概念

二.新增文档

2.1指定 _id 新增文档

2.2由 ES 自动生成 _id

2.3只允许新增,不允许覆盖

三.删除文档

3.1根据 _id 删除文档

3.2按条件批量删除

四.修改文档

4.1全量更新

4.2局部更新

4.3脚本更新

五.查询文档

5.1根据 _id 查询(最快)

5.2查询全部文档

5.3条件查询


一.概念

ES 的 CRUD 操作,本质上就是对索引中的 JSON 文档进行操作

概念类比关系型数据库
Index(索引)Database
Document(文档)Row(一行数据)
Field(字段)Column
_id主键

二.新增文档

2.1指定_id新增文档

PUT /user_index/_doc/1
{
"name": "张三",
"age": 25,
"city": "北京"
}

  • user_index:索引名

  • _doc:固定文档类型(7.x 之后已固定)

  • 1:文档 ID(主键)

  • 如果_id=1不存在 → 新增

  • 如果_id=1已存在 → 覆盖(不是报错)

2.2由 ES 自动生成_id

POST /user_index/_doc
{
"name": "李四",
"age": 30,
"city": "上海"
}

适用场景:

  • 日志

  • 行为数据

  • 不关心主键

2.3只允许新增,不允许覆盖

PUT /user_index/_create/1
{
"name": "王五",
"age": 28
}

特点:

  • 如果_id已存在 →直接报错 409

  • 适合对数据一致性要求高的业务

三.删除文档

3.1根据_id删除文档

DELETE /user_index/_doc/1

3.2按条件批量删除

POST /user_index/_delete_by_query
{
"query": {
"term": {
"city": "北京"
}
}
}

提醒:

  • 不可回滚

  • 生产环境前一定先用_search验证条件

四.修改文档

4.1全量更新

PUT /user_index/_doc/1
{
"name": "张三",
"age": 26
}

4.2局部更新

POST /user_index/_update/1
{
"doc": {
"age": 27
}
}

特点:

  • 只更新指定字段

  • 其他字段不受影响

  • 内部仍是“读 → 改 → 写”

4.3脚本更新

POST /user_index/_update/1
{
"script": {
"source": "ctx._source.age += 1"
}
}

五.查询文档

5.1根据_id查询(最快)

GET /user_index/_doc/1

特点:

  • 不走倒排索引

  • 直接查主键

  • 性能极高

5.2查询全部文档

GET /user_index/_search

5.3条件查询

精确匹配

GET /user_index/_search
{
"query": {
"term": {
"city": "北京"
}
}
}

全文搜索

GET /user_index/_search
{
"query": {
"match": {
"name": "张三"
}
}
}

5.4多条件组合(bool 查询)

GET /user_index/_search
{
"query": {
"bool": {
"must": [
{ "match": { "city": "北京" } }
],
"filter": [
{ "range": { "age": { "gte": 20 } } }
]
}
}
}

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

亲自动手试了Open-AutoGLM,结果出乎意料

亲自动手试了Open-AutoGLM,结果出乎意料 1. 这不是另一个“手机遥控器”,而是一个会自己看、想、做的AI助手 你有没有过这样的时刻: 想批量给十个抖音博主点赞,手指点到发麻; 外卖下单要反复切换APP、填地址、选口味…

作者头像 李华
网站建设 2026/9/3 1:05:07

Sambert中文儿化音处理:地域口音模拟参数调整教程

Sambert中文儿化音处理:地域口音模拟参数调整教程 1. 开箱即用的多情感中文语音合成体验 你是否试过让AI说出“这事儿得赶紧办喽”“那小猫儿真可爱”这样的京味儿表达?或者想让语音助手带点天津腔的俏皮、“咱东北银儿”那种豪爽劲儿?Samb…

作者头像 李华
网站建设 2026/9/3 8:05:23

NewBie-image-Exp0.1 vs SDXL-Turbo:动漫生成速度与质量全面对比

NewBie-image-Exp0.1 vs SDXL-Turbo:动漫生成速度与质量全面对比 你是不是也遇到过这样的情况:想快速生成一张高质量的动漫图,结果等了三分钟,出来的画面不是手多了一只,就是背景糊成一团?或者好不容易调好…

作者头像 李华
网站建设 2026/9/3 4:51:04

科哥CV-UNet镜像使用心得:真实体验分享与优化建议

科哥CV-UNet镜像使用心得:真实体验分享与优化建议 用过十几款AI抠图工具后,我最近把主力换成了科哥开发的这个cv_unet_image-matting镜像。不是因为它名字里带“UNet”听起来多高大上,而是——它真的让我每天少点37次鼠标、少等12分钟、少导…

作者头像 李华
网站建设 2026/9/3 1:20:24

YOLOv10验证与评估操作指南,一文讲清楚

YOLOv10验证与评估操作指南,一文讲清楚 1. 为什么验证环节特别重要 你可能已经跑通了YOLOv10的预测功能,看到模型能框出图片里的物体,心里松了一口气。但先别急着庆祝——真正决定模型能否落地的关键一步,恰恰是很多人跳过的验证…

作者头像 李华
网站建设 2026/9/3 0:22:09

从零实现CCS安装并连接仿真器调试环境

以下是对您提供的博文内容进行 深度润色与结构优化后的专业级技术文章 。整体风格更贴近一位资深嵌入式系统工程师在技术社区中自然、真诚、有温度的分享,去除了AI生成痕迹和模板化表达,强化了逻辑连贯性、实战细节与教学引导性,同时严格遵…

作者头像 李华