由于ElasticSearch沒有像mysql一樣可以直接字段數(shù)據(jù)類型的方法赠涮,因此需要通過創(chuàng)建中間索引:data_index_1芭挽,備份數(shù)據(jù)到中間索引:data_index_1,然后刪除原索引: data_index困乒,重新創(chuàng)建正確數(shù)據(jù)類型索引:data_index寂屏,再把中間索引:data_index_1的數(shù)據(jù)備份到新創(chuàng)建索引:data_index。語句通過kibana的 dev_tools/console 執(zhí)行娜搂。
操作步驟如下:
- 創(chuàng)建一個中間索引
- 向中間索引備份源索引的數(shù)據(jù)(mapping)
- 查詢確認(rèn)數(shù)據(jù)是否copy過去
- 刪除有問題的索引
- 重新創(chuàng)建同名的索引(★字段類型修改正確★)
- 從中間索引還原到源索引的數(shù)據(jù)
-
刪除中間索引
獲取索引mapping迁霎,可通過到Kibana查看索引的mapping,如圖:
1. 創(chuàng)建一個中間索引
創(chuàng)建索引
PUT demo_metric_1/
創(chuàng)建Mapping
POST demo_metric_1/type/_mapping
{
"type": {
"properties": {
"log_time_date": {
"type": "date",
"format": "epoch_millis"
},
.....
}
}
}
2. 向中間索引備份源索引的數(shù)據(jù)
重建索引
POST _reindex
{
"source": {
"index": "demo_metric"
},
"dest": {
"index": "demo_metric_1"
}
}
3.查詢確認(rèn)數(shù)據(jù)是否copy過去
GET /demo_metric/type/_search
GET /demo_metric_1/type/_search
4.刪除有問題的索引
刪除有問題的索引
DELETE demo_metric
5.重新創(chuàng)建同名的索引(★字段類型修改正確★)
創(chuàng)建索引
PUT demo_metric/
創(chuàng)建Mapping
POST demo_metric/type/_mapping
{
"type": {
"properties": {
"log_time_date": {
"type": "date",
"format": "epoch_millis"
},
.....
}
}
}
6. 從中間索引還原到源索引的數(shù)據(jù)
重建索引
POST _reindex
{
"source": {
"index": "demo_metric_1"
},
"dest": {
"index": "demo_metric"
}
}
7. 刪除中間索引
DELETE demo_metric_1
轉(zhuǎn)
原文鏈接:https://blog.csdn.net/wuqixiufen2/article/details/104793172/