ES:使用painless脚本修改字段内容

复制代码
假设index-a的url字段包含内容“..\..\a\b”,现在要把它替换为空
bash 复制代码
curl -u "elastic:elastic" -k "https://localhost:9200/index-a/_update_by_query" \
-H 'Content-Type: application/json' \
-d'
{
  "script": {
    "source": "ctx._source.url = ctx._source.url.replace(\"..\\\\..\\\\a\\\\b\\\\\", \"\")",
    "lang": "painless"
  }
}
'

解释

  • -k--insecure:允许 curl 忽略 SSL 证书验证(适用于自签名证书)。

  • -u:提供用户名和密码进行基本认证。

  • -X POST:指定 HTTP 方法为 POST。

  • -H 'Content-Type: application/json':指定请求的内容类型为 JSON。

  • -d:发送请求体数据。需要注意里面对"\"的转义

在请求体中:

  • script:指定要执行的脚本。

  • source:脚本内容,使用 Painless 脚本语言。

  • lang:指定脚本语言为 Painless。

相关推荐
yuuki2332331 小时前
【C++】模拟实现 AVL树
java·c++·算法
牛马baby1 小时前
多态和重载的底层实现原理
java
CircleMouse1 小时前
springboot项目中使用Java 8的日期时间API
java·开发语言·spring boot·后端·spring
Mr YiRan2 小时前
C++语言学习之面向对象
java·c++·学习
dc_00122 小时前
“mysqld --initialize --console ”执行不成功情况总结和解决措施
java
摘星编程2 小时前
解锁Agent智能体的未来:五大实战策略彻底革新人机协作模式
java·开发语言
百块富翁2 小时前
可管控、不重复TraceId解决方案
java·分布式·系统架构
金銀銅鐵2 小时前
浅解 Junit 4 第二篇: Runner 和 ParentRunner
java·junit·单元测试
_codemonster3 小时前
JavaWeb开发系列(七)表单开发
java