news 2026/5/2 13:24:14

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/4/19 2:11:20

批量抠图神器!cv_unet镜像让设计效率翻倍

批量抠图神器!cv_unet镜像让设计效率翻倍 1. 这不是又一个“能用就行”的抠图工具 你有没有过这样的经历: 电商运营凌晨三点还在手动抠商品图,发丝边缘反复擦除十几次;设计师收到五十张模特图,每张都要换背景、调透…

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

为什么选这个镜像?Qwen2.5-7B微调效率提升秘诀

为什么选这个镜像?Qwen2.5-7B微调效率提升秘诀 在大模型工程落地的实践中,一个常被低估却决定成败的关键环节是:微调是否真正“轻量”且“可控”。不是所有标榜“快速微调”的方案都能在单卡环境下稳定跑通;也不是所有预置环境都…

作者头像 李华
网站建设 2026/4/25 21:46:02

DeepSeek-R1蒸馏模型值不值得用?Qwen 1.5B对比实测数据揭秘

DeepSeek-R1蒸馏模型值不值得用?Qwen 1.5B对比实测数据揭秘 你是不是也遇到过这样的困惑:想在本地跑一个轻量但靠谱的推理模型,既要数学题算得准、代码写得对,又不能动不动就吃光8G显存?最近社区里悄悄火起来的 DeepS…

作者头像 李华
网站建设 2026/4/19 0:36:00

用Qwen3-1.7B做多语言翻译,支持119种语言

用Qwen3-1.7B做多语言翻译,支持119种语言 1. 为什么轻量级模型也能做好翻译? 你有没有遇到过这些场景: 出差途中想快速把酒店确认邮件从英文翻成中文,但手机没信号,云端翻译API用不了;跨境电商客服系统需…

作者头像 李华
网站建设 2026/4/24 3:37:44

图解说明Arduino IDE安装全流程,小白也能懂

以下是对您提供的博文内容进行 深度润色与工程化重构后的终稿 。全文已彻底去除AI痕迹,采用真实嵌入式工程师口吻撰写,结构上打破传统“引言-正文-总结”套路,以 问题驱动、场景切入、层层拆解、实战闭环 的方式组织逻辑;语言…

作者头像 李华
网站建设 2026/5/1 10:24:54

Llama3-Code vs IQuest-Coder-V1:竞技编程场景部署对比

Llama3-Code vs IQuest-Coder-V1:竞技编程场景部署对比 1. 为什么竞技编程需要专属代码模型? 竞技编程不是写业务系统,也不是调API接口——它是一场对逻辑密度、边界洞察和算法直觉的极限考验。你面对的不是“如何实现功能”,而…

作者头像 李华