elasticsearch groovy脚本中的Elasticsearch转义连字符字段
我正在尝试向文档中添加一个字段,其操作类似于。但是,我似乎遇到了一些问题,因为字段是用连字符分隔的(似乎被视为负号),而不是用下划线分隔的 示例正文如下:
elasticsearch groovy脚本中的Elasticsearch转义连字符字段,
elasticsearch,groovy,escaping,
elasticsearch,Groovy,Escaping,我正在尝试向文档中添加一个字段,其操作类似于。但是,我似乎遇到了一些问题,因为字段是用连字符分隔的(似乎被视为负号),而不是用下划线分隔的 示例正文如下: {“script”:“ctx.\u source.path.to.hyphen-separated-field=\“new data\”} 我试图用反斜杠将连字符转义,但没有成功。您可以使用方括号访问该字段,也就是说,只需这样做: {"script": "ctx._source.path.to['hyphen-separated-field'
{“script”:“ctx.\u source.path.to.hyphen-separated-field=\“new data\”}
我试图用反斜杠将连字符转义,但没有成功。您可以使用方括号访问该字段,也就是说,只需这样做:
{"script": "ctx._source.path.to['hyphen-separated-field'] = \"new data\""}
或者这也会起作用
{"script": "ctx._source.path.to.'hyphen-separated-field' = 'new data'"}
这一个在2.x(或者其他版本)上对我有效:
"script": {
"inline": "ctx._source.path.to[field] = val",
"params": {
"val": "This is the new value",
"field": "hyphen-separated-field"
}
}