目前正在开展工作,需要一些帮助。我将从一个sql数据库中填充一个弹性索引。从sql数据库中将会有一个初始完整的reindex,然后会有更新/删除/插入更新的夜间工作。重建索引零停机时间
如果发生重大故障,我可能需要做完全重新索引。理想情况下,我希望零宕机。我确实找到了一些关于创建别名等的文章,但是这看起来是字段映射的更新。我的情况是来自我的源数据库的数据的完全重新索引。我能得到的数据推文档弹性和弹性只会更新现有的索引,因为id将是相同的?还是我需要做点别的?
问候
伊斯梅尔
目前正在开展工作,需要一些帮助。我将从一个sql数据库中填充一个弹性索引。从sql数据库中将会有一个初始完整的reindex,然后会有更新/删除/插入更新的夜间工作。重建索引零停机时间
如果发生重大故障,我可能需要做完全重新索引。理想情况下,我希望零宕机。我确实找到了一些关于创建别名等的文章,但是这看起来是字段映射的更新。我的情况是来自我的源数据库的数据的完全重新索引。我能得到的数据推文档弹性和弹性只会更新现有的索引,因为id将是相同的?还是我需要做点别的?
问候
伊斯梅尔
对于零停机时间,你可以创建新的索引,从数据库填充它,并使用别名来从旧索引切换到新的一个。步骤:
该指数名为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" }} ] }
酷,但只是推高的数据应该只是更新现有数据,仍然保持索引了这么0停机呢? – Ismail
理论上是的,但你说的是重大失败。在这种情况下什么会失败? – paqash
对不起可能不好。我从数据库获得的数据更新必须在一段时间内提取并推出。在那段时间之后,数据会被写入新的数据。如果在那段时间数据提取失败,那么我需要重建完整的索引。然而,在重建期间,我希望索引仍然可用,即使它可能有过时的数据。 – Ismail