如何在Elasticsearch中删除中文索引
Posted wangzhen3798
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在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
以上是关于如何在Elasticsearch中删除中文索引的主要内容,如果未能解决你的问题,请参考以下文章