我们在索引中有一个字段“名称”。我们最近添加了一个新字段“别名”。我想将名称字段值复制到所有文档的新字段别名。
是否有任何更新查询可以做到这一点?如果那不可能,请帮助我实现这一目标。提前致谢
我正在尝试此查询 http:// URL / index / profile / _update_by_query
{
"query": {
"constant_score" : {
"filter" : {
"exists" : { "field" : "name" }
}
}
},
"script" : "ctx._source.alias = name;"
}
Run Code Online (Sandbox Code Playgroud)
在脚本中,我不确定如何命名字段。我遇到错误
{
"error": {
"root_cause": [
{
"type": "class_cast_exception",
"reason": "java.lang.String cannot be cast to java.util.Map"
}
],
"type": "class_cast_exception",
"reason": "java.lang.String cannot be cast to java.util.Map"
},
"status": 500
}
Run Code Online (Sandbox Code Playgroud)
确实,此后的语法已稍有改变。您需要将查询修改为此:
{
"query": {
"constant_score" : {
"filter" : {
"exists" : { "field" : "name" }
}
}
},
"script" : {
"inline": "ctx._source.alias = ctx._source.name;"
}
}
Run Code Online (Sandbox Code Playgroud)
ES 6的更新
使用source代替inline
| 归档时间: |
|
| 查看次数: |
2981 次 |
| 最近记录: |