本机已安装ES
注意:9300端口为Eladticsearch集群间组件的通信端口,9200端口为浏览器访问的http协议RESTful端口
实际生产环境中,经常会用到别名,因为索引可以很方便的修改,但是配置在代码中的索引名修改往往需要一定的代价
创建索引 index_name ,然后将它指向别名 my_index
PUT /index_name
PUT /index_name/_alias/my_index
检测这个别名指向哪一个索引,或哪些别名指向这个索引
GET /*/_alias/my_index
GET /index_name/_alias/*
上面两者都会返回下面的结果:
{
"index_name" : {
"aliases" : {
"my_index" : { }
}
}
}
查看索引
GET index_name
修改数据
POST /index_name/_update/1568693513
{
"doc": {
"total":200000
}
}
Delete 操作用于删除索引或文档
DELETE /index_name/_doc/id:删除某个文档。
● 当删除的 id 存在时,会删除该文档。
● 当删除的 id 不存在时,ES 会返回 not_found。
DELETE /index_name:删除整个索引,要谨慎使用!
使用 Reindex 将原来索引中的数据,导入到新的索引中
# Reindx API
POST _reindex
{
"source": { # 指定原有索引
"index": "index_name"
},
"dest": { # 指定目标索引
"index": "index_name_two"
}
}
实操:
1、新建index_name,别名my_index
2、当index_name不满足现在的生产需要,新建index_name_two
3、使用reindex把index_name数据导入到index_name_two中
4、index_name_two指向别名my_index
5、程序一直使用my_index没有什么影响
同理:也可以加入删除操作,使index_name(索引名)不发生变化的情况下,索引结构发生变化
参考文献: