用script脚本语法,操作通过的ES版本7.2
# 正常文本替换
POST /full_tm_info/_update_by_query
{
"query": {
"term": {
"term_id": {
"value": "035-2179"
}
}
},
"script": {
"lang": "painless",
"source": "ctx._source.notes_cn='这一措辞于2008年11月11日被修改为\"冻结\"这些服务的自助服务方面阐明了为什么这些服务属于第35类零售商店类型的服务。作为餐厅服务,这种服务不属于第43类,因为这种服务关注的是供消费的食物的准备和提供,而不是供购买的产品的特点。'"
}
}
# 批量去空格
POST /full_tm_info/_update_by_query
{
"query": {
"match": {
"reg_name_cn.keyword": "腾讯科技(深圳)有限公司 "
}
},
"script": {
"lang": "painless",
"source": "ctx._source.reg_name_cn=ctx._source.reg_name_cn.trim()"
}
}
# 如果查询条件用正则的方式,要去掉字尾的空格,则可以有以下写法
POST /full_tm_info/_update_by_query
{
"query": {
"regexp": {
"reg_name_cn.keyword": ".* "
}
},
"script": {
"lang": "painless",
"source": "ctx._source.reg_name_cn=ctx._source.reg_name_cn.trim()"
}
}
其他示例
#batch update or bulk update
POST /tv_stats_play_dur*/doc/_update_by_query?conflicts=proceed
{
"query": {
"bool": {
"must": [
{
"term": {
"root_id": 5
}
},
{
"match": {
"sub_id": 0
}
}
],
"must_not": [
{
"match": {
"root_name": "直播"
}
}
]
}
},
"script": {
"lang": "painless",
"source": "ctx._source.root_name = params.live_name",
"params": {
"live_name": "直播"
}
}
}
Comments | NOTHING