Elasticsearch将文档字段值从整数更新为字符串

我有一个弹性搜索索引,其中字段之一与关键字的数据类型映射 这意味着该字段将接受所有数据类型 因此,由于这个原因,我已经将字符串和整数值接收到弹性搜索索引的同一字段中

现在,我想将所有整数值更新为字符串

例如:文档

{
    "_index": "my-index","_type": "my_index_doc","_id": "PqLbOW4BtJ-51rS9hMsm","_score": null,"_source": {
        "user_id": 1019407,},"sort": [
        1572928717850
    ]
}

因此,我想将user_id字段为整数然后将其值更改为字符串的所有文档数据更改为字符串

预期文档:

{
    "_index": "my-index","_source": {
        "user_id": "1019407","sort": [
        1572928717850
    ]
},

我们可以使用弹性搜索更新查询所有文档/任何其他解决方案吗?

如果有任何错误,请原谅。

预先感谢

zyai558 回答:Elasticsearch将文档字段值从整数更新为字符串

您可以利用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": {}
  }
}
本文链接:https://www.f2er.com/3152414.html

大家都在问