我想添加一个字段B,该字段应包含带有字段A单词的数组。我想使用某种脚本将字段A的值分解为单词部分。
所以是这样的: 场-答:“快棕色狐狸” 栏位B:[“ The”,“ Quick”,“ Brown”,“ Fox”]
我正在努力寻找如何在ElasticSearch 5.6中实现这一目标
答案 0 :(得分:1)
您可以使用update by query API和一个脚本来实现此目的,该脚本将fieldA拆分并将结果数组存储到fieldB中:
POST test/_update_by_query
{
"script": {
"inline": "ctx._source.fieldB = /\\s+/.split(ctx._source.fieldA);",
"lang": "painless"
},
"query": {
"match_all": {}
}
}
您会得到的:
{
"fieldA" : "The brown fox",
"fieldB" : [
"The",
"brown",
"fox"
]
}