我正在使用一个应用程序,该应用程序每月在elasticsearch中创建一个索引。
在正常情况下,索引和别名应如下所示:
{
"api-umbrella-logs-v1-2019-06" : {
"aliases" : {
"api-umbrella-logs-2019-06" : { },
"api-umbrella-logs-write-2019-06" : { }
}
}
}
但是以某种方式在重新启动应用程序之后创建了两个索引,而不是一个,就像这样:
{
"api-umbrella-logs-v1-2019-06" : {
"aliases" : {
"api-umbrella-logs-2019-06" : { }
}
},
"api-umbrella-logs-write-2019-06" : {
"aliases" : { }
}
}
由于查询基于api-umbrella-logs-2019-06
,写数据位于api-umbrella-logs-write-2019-06
中,因此所有查询均不返回任何数据。如果将api-umbrella-logs-write-2019-06
附加到api-umbrella-logs-v1-2019-06
作为别名,则可以解决问题。那怎么可能呢?
注意:为别名api-umbrella-logs-2019-06
分配api-umbrella-logs-write-2019-06
无效,因为它们的结构不同。