gpt4 book ai didi

elasticsearch - 零停机时间重建索引

转载 作者:行者123 更新时间:2023-12-02 22:23:21 25 4
gpt4 key购买 nike

目前正在做某事,需要一些帮助。我将从SQL数据库填充一个 flex 索引。将会从sql数据库中获得一个初始的完全重新索引,然后会有每晚的作业来更新/删除/插入更新。

万一发生重大故障,我可能需要进行完全重新索引。理想情况下,我希望停机时间为零。我确实找到了一些有关创建别名的文章,但是这似乎是对字段映射的更多更新。我的情况是源数据库中数据的完全重新索引。我能得到的数据将文档推到 flex ,而 flex 将更新现有索引,因为ID相同吗?还是我需要做其他事情?

问候

伊斯梅尔

最佳答案

对于零停机时间,您可以创建一个新索引,从数据库中填充它,并使用别名从旧索引切换到新索引。脚步:

  • 调用您的主索引,例如main_index_1(或您喜欢的任何东西)
  • 为该索引创建一个别名,称为main_index
    curl -XPUT 'localhost:9200/main_index_1/_alias/main_index?pretty
  • 设置您的应用程序以指向该别名
  • 创建一个名为main_index_2的新索引,并从数据库
  • 中对其进行索引
  • 切换别名以指向新索引
    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" }}
    ]
    }
  • 关于elasticsearch - 零停机时间重建索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42671187/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com