elasticsearch零宕机切换索引

挑水做饭 2020年05月15日 135次浏览

我们在用es做搜索查询,经常会遇到数据需要重建索引的情况,生产环境如果在不影响业务的前提下来重建索引呢?,其实es已为我们提供了解决方案,通过es的别名机制能很容易的实现索引的平滑切换。
具体实现方法如下:

1.为老索引建立别名
PUT /old_index/_alias/my_inde

2.建立新索引new_index

3.重跑old_index的数据到new_index

4.数据重跑完成后,切换索引
POST /_aliases{
"actions": [
{ "remove": { "index": "old_index", "alias": "my_index" }}, { "add": { "index": "new_index", "alias": "my_index" }}
]}