Elasticsearch 将文档字段值从整数更新为字符串
Elasticsearch update document field value from interger to string
我有一个弹性搜索索引,其中一个字段映射到关键字的数据类型
这意味着字段将接受所有数据类型
因此,我在弹性搜索索引
的同一字段中收到了字符串和整数值
现在,我想将所有整数值更新为字符串
例如:文档
{
"_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
]
},
我们可以通过针对所有文档的弹性搜索更新查询来实现吗/任何其他解决方案?
如有错误请多多包涵
提前致谢
您可以利用 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": {}
}
}
我有一个弹性搜索索引,其中一个字段映射到关键字的数据类型 这意味着字段将接受所有数据类型 因此,我在弹性搜索索引
的同一字段中收到了字符串和整数值现在,我想将所有整数值更新为字符串
例如:文档
{
"_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
]
},
我们可以通过针对所有文档的弹性搜索更新查询来实现吗/任何其他解决方案?
如有错误请多多包涵
提前致谢
您可以利用 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": {}
}
}