每当有人描述Elasticsearch重新索引过程时,就会假定通过别名访问索引。然后通过改变所述别名来完成从一个索引到另一个索引的实际转换。但是,我的应用程序不访问别名,而是访问实际索引。最重要的是,我无法更改应用程序正在访问的索引名称。是否可以使用具有旧索引名称的别名从旧索引转换为新索引,因此应用程序不必知道任何内容已更改?
答案 0 :(得分:1)
您将面临的一个问题是,您不能创建与现有索引同名的别名(反之亦然)。
因此,如果您无法更改应用的内容并且当前正在直接触及索引A,则无法使用别名A创建另一个索引B.
唯一的方法是:
但是,第一次这样做只会是一个问题。下一次,您将能够原子地将别名从索引B(旧)切换到索引C(新),并且您的应用程序不会感觉到什么。