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)索引零停机(无需重启)无缝平滑切换的方法。