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。

相关推荐
带刺的坐椅14 分钟前
MCP 进化:让静态 Tool 进化为具备“上下文感知”的远程 Skills
java·ai·llm·agent·solon·mcp·tool-call·skills
java1234_小锋20 分钟前
Java线程之间是如何通信的?
java·开发语言
张张努力变强25 分钟前
C++ Date日期类的设计与实现全解析
java·开发语言·c++·算法
while(1){yan}1 小时前
Spring事务
java·数据库·spring boot·后端·java-ee·mybatis
毕设源码-赖学姐2 小时前
【开题答辩全过程】以 高校社团管理平台为例,包含答辩的问题和答案
java
Elastic 中国社区官方博客2 小时前
Elasticsearch:上下文工程 vs. 提示词工程
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
余瑜鱼鱼鱼2 小时前
线程和进程的区别和联系
java·开发语言·jvm
小唐同学爱学习2 小时前
如何解决海量数据存储
java·数据库·spring boot·mysql
962464i2 小时前
SBE(simple-binary-encoding)-Demo
java
-凌凌漆-2 小时前
【Java】java中throws与try catch区别
java