这就是我的结果来源的样子。
{“_source”:{“名称”:“哪里是我的皇冠愤怒的小鸟3”,“movie_id”:69}}
我需要将“名称”字段更新为“'我的皇冠在哪里'”。我使用以下查询:
{“script”:{“inline”:“ctx._source.Name ='我的王冠在哪里”“,” lang“:”无痛“},” query“:{” match“:{” movie_id“:69} }}
但是我得到了这个错误:
{'type':'illegal_argument_exception','reason':“意外 token ['s']期望[{,';'}]之一。”}
请帮助我解决此问题。
最佳答案
这是因为存在一个事实,即“Where's My Crown”中有一个单引号,并且干扰了整个字符串中的单引号。
考虑这样做(使用params
)来代替:
{
"script": {
"inline": "ctx._source.Name = params.newName",
"params": {
"newName": "Where's My Crown"
},
"lang": "painless"
},
"query": {"match": {"movie_id": 69}}
}
关于python - 更新 Elasticsearch 字段时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52218533/