随笔 - 32  文章 - 0  评论 - 15  阅读 - 68265 

     由于ElasticSearch没有像mysql一样可以直接字段数据类型的方法,因此需要通过创建中间索引:data_index_1,备份数据到中间索引:data_index_1,然后删除原索引: data_index,重新创建正确数据类型索引:data_index,再把中间索引:data_index_1的数据备份到新创建索引:data_index。语句通过kibana的 dev_tools/console 执行。

 

操作步骤如下:

1. 创建一个中间索引
2. 向中间索引备份源索引的数据(mapping)
3. 查询确认数据是否copy过去
4. 删除有问题的索引
5. 重新创建同名的索引(★字段类型修改正确★)
6. 从中间索引还原到源索引的数据
7. 删除中间索引

  

获取索引mapping,可通过到Kibana查看索引的mapping,如图:

 

参考修改脚本,kibana执行:

复制代码
 1 # 1. 创建一个中间索引
 2 #创建索引
 3 PUT demo_metric_1/
 4 
 5 # 创建Mapping
 6 POST demo_metric_1/type/_mapping
 7 {  
 8     "type": {
 9       "properties": {        
10         "log_time_date": {
11           "type": "date",
12           "format": "epoch_millis"
13         },
14         .....        
15       }
16     } 
17 }
18 
19 
20 # 2. 向中间索引备份源索引的数据
21 
22 # 重建索引
23 POST _reindex
24 {
25   "source": {
26     "index": "demo_metric"
27   },
28   "dest": {
29     "index": "demo_metric_1"
30   }
31 }
32 
33 
34 # 3.查询确认数据是否copy过去
35 GET /demo_metric/type/_search
36 
37 GET /demo_metric_1/type/_search
38 
39 
40 # 4.删除有问题的索引
41 # 删除有问题的索引
42 DELETE demo_metric
43 
44 
45 # 5.重新创建同名的索引(★字段类型修改正确★)
46 #创建索引
47 PUT demo_metric/
48 
49 # 创建Mapping
50 POST demo_metric/type/_mapping
51 {  
52     "type": {
53       "properties": {        
54         "log_time_date": {
55           "type": "date",
56           "format": "epoch_millis"
57         },
58         .....        
59       }
60     } 
61 }
62 
63 
64 # 6. 从中间索引还原到源索引的数据
65 # 重建索引
66 POST _reindex
67 {
68   "source": {
69     "index": "demo_metric_1"
70   },
71   "dest": {
72     "index": "demo_metric"
73   }
74 }
75 
76 
77 # 7. 删除中间索引
78 DELETE demo_metric_1
复制代码

 

posted on   大象只为你  阅读(18234)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示