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。

相关推荐
证能量少女10 小时前
2026大专Java开发工程师,考什么证加分?
java·开发语言
FPGAI10 小时前
Java学习之基础概念
java·学习
芒克芒克10 小时前
Java集合框架总结(面试八股)
java·开发语言·面试
ejjdhdjdjdjdjjsl10 小时前
C#文件流操作技巧
java·开发语言·spring
虾说羊10 小时前
HashMap详解
java
lkbhua莱克瓦2410 小时前
反射3-反射获取构造方法
java·开发语言·反射
wanghowie11 小时前
02.04.01 Java Stream API 进阶指南:从底层实现到性能优化
java·开发语言·性能优化
专注于大数据技术栈11 小时前
java学习--Date
java·学习
青莲84311 小时前
Java基础篇——第三部
java·前端