Elasticsearch 基础教程

Elasticsearch 高级教程

Elasticsearch 插件

Elasticsearch 笔记

Elasticsearch FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/elasticsearch-index-management.html

es(elasticsearch) 索引管理详解


Elasticsearch 索引管理主要包括如何进行索引的创建、索引的删除、副本的更新、索引读写权限、索引别名的配置等等内容。

索引删除

es 索引删除操作向 es 集群的 http 接口发送指定索引的 delete http 请求即可,可以通过 curl 命令,具体如下:

curl -X DELETE http://{es_host}:{es_http_port}/{index}

如果删除成功,它会返回如下信息,具体示例如下:

curl -X DELETE http://10.10.10.66:9200/my_index?pretty

为了返回的信息便于读取,增加了 pretty 参数:

{
  "acknowledged" : true
}

关于 es 删除索引操作更多内容参考 elasticsearch(es)删除索引详解

索引别名

es 的索引别名就是给一个索引或者多个索引起的另一个名字,典型的应用场景是针对索引使用的平滑切换。

首先,创建索引 my_index,然后将别名 my_alias 指向它,示例如下:

PUT /my_index
PUT /my_index/_alias/my_alias

也可以通过如下形式:

POST /_aliases
{    
  "actions": [
    { "add": { "index": "my_index", "alias": "my_alias" }}
  ]
}

也可以在一次请求中增加别名和移除别名混合使用:

POST /_aliases
{    
  "actions": [
    { "remove": { "index": "my_index", "alias": "my_alias" }}
    { "add": { "index": "my_index_v2", "alias": "my_alias" }}
  ]
}

需要注意的是,如果别名与索引是一对一的,使用别名索引文档或者查询文档是可以的,但是如果别名和索引是一对多的,使用别名会发生错误,因为 es 不知道把文档写入哪个索引中去或者从哪个索引中读取文档。

es 索引别名有个典型的应用场景是平滑切换,更多细节可以查看 Elasticsearch(es)索引零停机(无需重启)无缝平滑切换的方法

相关内容