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。

相关推荐
karry_k4 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k4 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
SamDeepThinking8 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
她的男孩11 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
Elasticsearch12 小时前
深入解析 simdvec:Elasticsearch 如何利用神经网络和视频编解码 CPU 指令实现向量搜索
elasticsearch
荣码12 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
plainGeekDev14 小时前
Gson → kotlinx.serialization
android·java·kotlin
小bo波1 天前
Java Swing 图形用户界面实验 —— 从算术练习到游戏开发的完整实践
java·课程设计·gui·游戏开发·扫雷·swing