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。

相关推荐
无风之翼13 分钟前
android12下拉菜单栏界面上方显示无内容
android·java
程序员梁白开13 分钟前
从源码到实战:线程池处理任务的完整流程解析
java·jvm·spring·java-ee
u***13717 分钟前
Tomcat的升级
java·tomcat
t***p93519 分钟前
springboot项目读取 resources 目录下的文件的9种方式
java·spring boot·后端
C***115031 分钟前
Tomcat下载,安装,配置终极版(2024)
java·tomcat
ScriptBIN38 分钟前
Maven高级
java·maven
Empty_77741 分钟前
K8S-Pod资源对象
java·容器·kubernetes
D***y20142 分钟前
SpringSecurity 实现token 认证
java
N***77881 小时前
Tomcat 乱码问题彻底解决
java·tomcat
Elasticsearch1 小时前
Elasticsearch:在隔离环境中安装 ELSER 模型
elasticsearch