我有一个弹性搜索索引,其中字段之一与关键字的数据类型映射 这意味着该字段将接受所有数据类型 因此,由于这个原因,我已经将字符串和整数值接收到弹性搜索索引的同一字段中
现在,我想将所有整数值更新为字符串
例如:文档
{
"_index": "my-index",
"_type": "my_index_doc",
"_id": "PqLbOW4BtJ-51rS9hMsm",
"_score": null,
"_source": {
"user_id": 1019407,
},
"sort": [
1572928717850
]
}
因此,我想将user_id字段为整数然后将其值更改为字符串的所有文档数据更改为字符串
预期文档:
{
"_index": "my-index",
"_type": "my_index_doc",
"_id": "PqLbOW4BtJ-51rS9hMsm",
"_score": null,
"_source": {
"user_id": "1019407",
},
"sort": [
1572928717850
]
},
我们可以使用弹性搜索更新查询所有文档/任何其他解决方案吗?
如果有任何错误,请原谅。
预先感谢
答案 0 :(得分:1)
您可以利用Update by Query API实现这一目标。只需运行以下命令即可:
POST my-index/_update_by_query
{
"script": {
"source": "ctx._source.user_id = Integer.toString(ctx._source.user_id);",
"lang": "painless"
},
"query": {
"match_all": {}
}
}