elasticsearch-如何给文档新增/更新的字段

文章目录

  • 前言
    • elasticsearch-如何给文档新增/更新的字段
      • 1. 如何给某些文档新增/更新的字段
      • 2. 给所有文档添加/更新一个新的字段
      • 3. 测试

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


elasticsearch-如何给文档新增/更新的字段

1. 如何给某些文档新增/更新的字段

POST /blog_new/_update_by_query
{"script": {"source": "ctx._source.double_yzy_flag = 'Y'","lang": "painless"},"query": {"bool": {"filter": [{"term": {"author": {"value": "yangzhenyu","boost": 1.0}}}],"adjust_pure_negative": true,"boost": "1.0"}}
}

在这里插入图片描述
ctx._source:这是 Elasticsearch 中用于修改文档字段的方式。通过 ctx._source 可以访问和修改文档中的字段。
效果:执行语句时,如果文档中没有 double_yzy_flag 字段,它会自动新增并赋值为 ‘Y’。如果字段已经存在,则会更新其值为 ‘Y’

注意的是

  1. 当你添加一个新的字段(没有预定义映射)时,Elasticsearch 会根据字段的内容推断类型。对于字符串值(如 ‘Y’),Elasticsearch 默认将其类型设置为 keyword,因为 keyword 类型是用于存储精确值、不可分词的字符串数据。keyword 类型适合用于标识符、标签、分类、状态等字段。
  2. keyword 类型的特点:
    • 不分词:keyword 类型字段会原样存储文本数据,不会对其进行分词(如 analyze)。
    • 适合精确匹配:keyword 类型适用于精确匹配查询,如 term 查询,因为它存储的内容没有经过分词,查询时直接使用原值进行匹配。

2. 给所有文档添加/更新一个新的字段

POST /blog_new/_update_by_query
{"script": {"source": "ctx._source.double_xxx = 'N'","lang": "painless"},"query": {"match_all": {}}
}

在这里插入图片描述

3. 测试

1、查询该索引文档总数

GET /blog_new/_search
{"size": 0
}

在这里插入图片描述
总数为:2433
2、查询double_yzy_flag=Y的数量
在这里插入图片描述
这是上次执行更新新增语句update的数量,总共有605。
下边是查询double_yzy_flag=Y的数量:

GET /blog_new/_search
{"size": 0,"query": {"bool": {"filter": [{"term": {"double_yzy_flag.keyword": {"value": "Y","boost": 1.0}}}],"adjust_pure_negative": true,"boost": "1.0"}},"sort": [{"publish_date": {"order": "asc"}}]
}

在这里插入图片描述
下边是查询非double_yzy_flag=Y的数量:
在这里插入图片描述
预测数量应该是总数-double_yzy_flag=Y的数量=2433 - 605 = 1828

GET /blog_new/_search
{"size": 0,"query": {"bool": {"must_not": [{"match_phrase": {"double_yzy_flag.keyword": {"query": "Y","slop": 0,"zero_terms_query": "NONE","boost": 1}}}],"adjust_pure_negative": true,"boost": "1.0"}},"sort": [{"publish_date": {"order": "asc"}}]
}

在这里插入图片描述
测试正确!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/63424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

World Labs发布最新3D世界生成模型 | 李飞飞引领AI创新

随着人工智能技术的飞速发展,3D生成模型作为一个新兴领域,正逐步改变我们与虚拟世界的互动方式。2023年12月3日,李飞飞教授领导的AI初创公司World Labs发布了他们的最新成果——一款能够将单张图片转化为完整3D世界的生成模型。这个模型不仅突…

分布式cap

P(分区安全)都能保证,就是在C(强一致)和A(性能)之间做取舍。 (即立马做主从同步,还是先返回写入结果等会再做主从同步。类似的还有,缓存和db之间的同步。&am…

cocos creator接入字节跳动抖音小游戏JSAPI敏感词检测(进行文字输入,但输入敏感词后没有替换为*号)

今天更新了某个抖音小游戏的版本,增加了部分剧情,半天过后一条短信审核未通过,emmm…抖音总是能给开发者惊喜…打开电脑看看这次又整什么幺蛾子… 首先是一脸懵逼,后端早已接入了官方的内容安全检测能力了(https://de…

软件无线电安全之GNU Radio基础(下)

往期回顾 软件无线电安全之GUN Radio基础(上) 背景 在上一小节中,我们简单介绍和使用了GNU Radio软件的基础功能和模块,同时通过GNU Radio Companion(GRC)创建了简单的流程图,展示了信号生成、处理和输出的流程。最后…

Gitee配置SSH公钥

采用SSH协议同步Git仓库代码的好处就是高效。在配置好SSH公钥后,不需要每次操作都要输入用户名和密码(主要针对命令行来说)。 以我个人项目为例。 生成 SSH 公钥 1. 通过命令 ssh-keygen 生成 SSH Key: ssh-keygen -t ed25519…

2024年认证杯SPSSPRO杯数学建模D题(第一阶段)AI绘画带来的挑战解题全过程文档及程序

2024年认证杯SPSSPRO杯数学建模 D题 AI绘画带来的挑战 原题再现: 2023 年开年,ChatGPT 作为一款聊天型AI工具,成为了超越疫情的热门词条;而在AI的另一个分支——绘图领域,一款名为Midjourney(MJ&#xff…

算法-字符串-5.最长回文子串

一、题目: 二、思路解析 1.思路: 最长子串——动态数组 2.常用方法: a.字符串的截断 ress.substring(start,end1); 3.核心逻辑: 1.特殊情况:字符串为空或字符串的长度为0 if(snull||s.length())return ""…

高中数学:计数原理-二项式定理

文章目录 一、二项式定理与通项公式二、二项式系数的性质 一、二项式定理与通项公式 我们先来看完全平方公式 二、二项式系数的性质

刷题计划day26 回溯(五)回溯止【N 皇后】【解数独】

⚡刷题计划day26 回溯(五)继续,回溯最后一个专题,今天的是hard题,也是比较经典的题型,可以点个免费的赞哦~ 往期可看专栏,关注不迷路, 您的支持是我的最大动力🌹~ 目录…

UE5基本数据类型

bool: 表示布尔值,只有两个取值:true 或 false,用于表示逻辑条件。int8: 表示 8 位的有符号整数,范围是 −128−128 到 127127。uint8: 表示 8 位的无符号整数,范围是 00 到 255255。int16: 表示 16 位的有符号整数&am…

linux的vdagent框架设计

1、vdagent Linux 的 spice 客户代理由两部分组成,一个系统范围的守护进程 spice-vdagentd 和一个 X11 会话代理 spice-vdagent,每个 X11 会话有一个。spice-vdagentd 通过 Sys-V initscript 或 systemd 单元启动。 如下图:spice-vdagent&a…

docker修改并迁移存储至数据盘

文章目录 前言一、操作步骤(需要root权限)1. 查看磁盘占用,查看当前docker目录占用的空间2. 查看正在运行的容器,并停止容器及服务3. 拷贝数据、修改配置(关键步骤)4. 加载配置,启动服务及容器 …

证明网络中的流形成一个凸集

证明网络中的流形成一个凸集 步骤1:定义和符号步骤2:线性组合步骤3:验证容量限制步骤4:验证流量守恒结论示例代码(C语言) 在网络流理论中,一个流 f f f 是定义在网络图的边集上的一种函数&…

阿里云轻量应用服务器开放端口,图文教程分享

阿里云轻量应用服务器如何开放端口?在轻量服务器管理控制台的防火墙中添加规则即可开通端口,开通80端口就填80,开通443就填443端口,开通3306端口就填3306。阿里云百科网aliyunbaike.com整理阿里云轻量应用服务器端口号开通图文教程…

如何在Ubuntu中利用repo和git地址下载获取imx6ull的BSP

01-设置git的用户名和邮箱 git config --global user.name "suwenhao" git config --global user.email "2487872782qq.com"这里不设置的话后面在第5步的repo配置中还是会要求输入,而且以后进行相关操作都要输入,不妨现在就进行配置…

C++设计模式之外观模式

动机 下图中左边方案的问题在于组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。 如何简化外部客户程序和系统间的交互接口?如何将外部客户程序的演化和内部子系统…

13.高级GLSL

高级GLSL 1.GLSL的内建变量 着色器都是最简化的,如果需要当前着色器以外地方的数据的话,我们必须要将数据传进来。我们已经学会使用顶点属性、uniform和采样器来完成这一任务了。然而,除此之外,GLSL还定义了另外几个以gl_为前缀…

使用数据层进行数据生命周期管理

作者:来自 Elastic Stef Nestor Elasticsearch 7.10 使配置数据生命周期变得不再那么复杂。在这篇博文中,我将介绍一些变化、如何使用它们以及一些最佳实践。 数据生命周期可以包含很多阶段,因此我们将涉及: 将集群划分为层&…

Jenkins环境一站式教程:从安装到配置,打造高效CI/CD流水线环境-Ubuntu 22.04.5 环境离线安装配置 Jenkins 2.479.1

文章目录 Jenkins环境一站式教程:从安装到配置,打造高效CI/CD流水线环境-Ubuntu 22.04.5 环境离线安装配置 Jenkins 2.479.1一、环境准备1.1 机器规划1.2 环境配置1.2.1 设置主机名1.2.2 停止和禁用防火墙1.2.3 更新系统 二、安装配置Jenkins2.1 安装JDK…

用Python绘制医学热图

在医学研究和临床实践中,数据的可视化是不可或缺的一部分。通过直观的数据展示,医学专业人员可以更好地理解各种疾病的治愈率、治疗效果以及医院之间的差异。今天,我们将介绍一种强大的数据可视化工具——热图(Heatmap&#xff09…