我们在用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" }}
]}