zoukankan      html  css  js  c++  java
  • 如何在Elasticsearch中删除中文索引

    问题现象

    因为某种特殊的原因,发现在es集群中出现了中文名称的索引,通过_cat API查询结果如下:

    GET /_cat/indices/?v
    
    health status index   uuid                   pri rep docs.count docs.deleted store.size pri.store.size
    green  open   rcp-b   nqTIHs6-SSG0K-Pa7guIIA   5   0          1            0        4kb            4kb
    green  open   .kibana T4aQP8DTT72aS0qrg7k_-w   1   0         19            3     64.6kb         64.6kb
    red  open   测试索引中文 T4aQP8DTT99aS0qrg7k_-w   5   1         19            3     64.6kb         64.6kb
    
    

    直接用DELETE API 删除报错

    DELETE /测试索引中文
    
    {
      "error": {
        "root_cause": [
          {
            "type": "index_not_found_exception",
            "reason": "no such index",
            "index_uuid": "_na_",
            "resource.type": "index_or_alias",
            "resource.id": "KÕ"u0015-‡",
            "index": "KÕ"u0015-‡"
          }
        ],
        "type": "index_not_found_exception",
        "reason": "no such index",
        "index_uuid": "_na_",
        "resource.type": "index_or_alias",
        "resource.id": "KÕ"u0015-‡",
        "index": "KÕ"u0015-‡"
      },
      "status": 404
    }
    

    如何删除这个"测试索引中文" 的索引呢 ?

    思路就是用别名API(_alias)将这个中文索引,别名成英文,然后再用DELETE API删除

    POST /_aliases
    {
        "actions" : [
            { "add" : { "index" : "测试索引中文", "alias" : "testcn" } }
        ]
    }
    
    DELETE /testcn
    
    
  • 相关阅读:
    python2.7升python3.2
    SQL-基础学习使用的数据库资料
    SQL-基础学习2--ORDER BY ,DESC,WHERE, BETWEEN,AND ,OR ,IN ,NOT
    SQL-基础学习1--SELECT,LIMIT,DISTINCT,注释
    Python之Django-part 1
    python--文本处理1
    EXTJS4.2——8.Form+gride+linq进行前后端传输
    LINQ的实例
    高级委托使用
    C# 委托
  • 原文地址:https://www.cnblogs.com/wangzhen3798/p/11152929.html
Copyright © 2011-2022 走看看