问题陈述:我想将数据从一个索引导入到另一个索引,而又不影响数据丢失和影响从Web进行的搜索。
已采取方法
我有一个索引 development_users_en_gb ,并且想将数据导入到 development_users_en_gb_v1
{
"development_users_en_gb" : {
"aliases" : {
"development_users_en_gb_read" : { },
"development_users_en_gb_write" : { }
}
}
}
POST /_aliases
{
"actions" : [
{ "remove" : { "index" : "development_users_en_gb", "alias" : "development_users_en_gb_write" } },
{ "add" : { "index" : "development_users_en_gb_v1", "alias" : "development_users_en_gb_write" } }
]
}
curl -XGET "http://localhost:9200/development_users_en_gb/_alias"
{
"development_users_en_gb" : {
"aliases" : {
"development_users_en_gb_read" : { }
}
}
}
curl -XGET "http://localhost:9200/development_users_en_gb_v1/_alias"
{
"development_users_en_gb_v1" : {
"aliases" : {
"development_users_en_gb_write" : { }
}
}
}
development_users_en_gb_read别名指向development_users_en_gb索引(旧索引),development_users_en_gb_write指向development_users_en_gb_v1(新索引)
4.查询数据库,并通过development_users_en_gb_write别名对所有文档建立索引
此时,有一个从Web创建的新文档,但是它从未到达development_users_en_gb_v1(新索引)。 development_users_en_gb中的文档数大于development_users_en_gb_v1
问题:为什么我看不到数据被推送到development_users_en_gb_v1(新索引),而不是推送到development_users_en_gb(旧索引)