目前正在开展工作并需要一些帮助。我将从sql数据库填充弹性索引。将从sql数据库初始完全重新索引,然后将有夜间作业,将更新/删除/插入更新。
如果发生重大故障,我可能需要完全重新索引。理想情况下,我希望零停机时间。我确实找到了一些关于创建别名等的文章,但是这看起来是对字段映射的更多更新。我的情况是来自我的源数据库的数据的完全重新索引。我可以将数据推送到弹性和弹性只会更新现有索引,因为ID将是相同的吗?或者我还需要做其他事情吗?
此致
伊斯梅尔
答案 0 :(得分:2)
对于零停机时间,您可以创建新索引,从数据库填充它,并使用别名从旧索引切换到新索引。步骤进行:
为该索引创建一个名为main_index的别名
curl -XPUT 'localhost:9200/main_index_1/_alias/main_index?pretty
将应用程序设置为指向此别名
将别名切换为指向新索引
curl -XPOST 'localhost:9200/_aliases?pretty' -H 'Content-Type: application/json' -d
{
"actions": [
{ "remove": { "index": "main_index_1", "alias": "main_index" }},
{ "add": { "index": "main_index_2", "alias": "main_index" }}
]
}