zoukankan      html  css  js  c++  java
  • Elasticsearch怎么修改索引字段类型?

         由于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
    感谢你的阅读,如果对你有帮助,请支持我!请点[推荐]
    如果有意见或建议,欢迎留言交流!
    欢迎转载,请保留出处,冰慧感谢你的关注与支持!
  • 相关阅读:
    JavaWeb--JDBC
    JavaWeb--过滤器、监听器
    Javaweb-MVC三层架构
    JavaWeb--JSP
    JavaWeb--Cookie、Session
    JavaWeb--Servlet
    实用记录文档
    分库分表Sharding-JDBC + MyBatis-Plus动态表名
    如何不靠运气变得富有 (九) —— 互联网极大地丰富了职业发展的可能性
    如何不靠运气变得富有 (八) —— 给社会提供它不知道如何获得的东西
  • 原文地址:https://www.cnblogs.com/huangxiufen/p/12461191.html
Copyright © 2011-2022 走看看