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。

相关推荐
27669582929 小时前
拼多多m端/小程序 encrypt_info
java·小程序·apache·encrypt_info·encrypt_info解密·拼多多小程序·拼多多m端
码不停蹄的玄黓9 小时前
Java 应用 CPU 过高排查全流程
java·开发语言·python
醉颜凉9 小时前
Elasticsearch 核心数据结构:FST 原理与应用场景全解析
数据结构·elasticsearch·jenkins
许彰午9 小时前
11_Java集合框架概述
java·windows·python
小谢小哥9 小时前
64-依赖冲突解决详解
java·后端·架构
阿杰AJie9 小时前
ExcelUtils样式相关工具
java·后端
jsl_jsl_jsl9 小时前
☕ Java 高并发进阶(三):Java 锁体系全景解析——从 Synchronized 到 AQS 高阶锁
java
love_muming9 小时前
从 ArrayList 到 LinkedList:Java 集合中数组与链表的深度对比
java·数据结构·链表