gpt4 book ai didi

SolrCloud 和需要索引重建和/或修改代码的更新

转载 作者:行者123 更新时间:2023-12-03 18:03:54 25 4
gpt4 key购买 nike

SolrCloud,感谢 ZooKeeper 的集成,为 managing 提供了一些不错的实用程序和 reloading核心/集合配置。

但是,这仅完全涵盖了琐碎更新的情况 - 但也有非平凡更新。在这种情况下,重要意味着导致一些更改,使更新的节点和/或其核心与某些先前的状态不兼容。

特别是,这些子案例浮现在脑海中:

  • 需要重新启动底层 Solr 实例的代码更新。
  • 需要完全重建核心的架构更改。

  • 我的问题是: SolrCloud 和相关的 Zookeeper 服务如何用于使此类更新更容易、更可靠和/或确保更高的可用性?

    注意:我希望有一些“理解”此类更新的 API/功能。到目前为止,我发现的最显着的事情是 CoreAdmin 中的集合别名,这将允许“旧”和"new"版本之间更平滑的过渡——考虑到上述希望,有点令人失望。

    最佳答案

    我不确定你的意思

    A code update necessitating a restart of an underlying Solr instance.

    You mean that the Solr code changed? (in eg. a newer version) Or that the application accessing the Solr instance changed? (in eg. your codebase)



    在第一种情况下,只需创建一个新实例,并将其添加到 ZooKeeper,即使版本不同,也应该结束。

    在第二种情况下,访问数据的应用程序发生了什么并不重要,对吗?

    然后你提到了我认为最“常见”的场景

    A schema change that requires a full rebuild of a core.



    如果您正在更改架构,这意味着您正在更改某些索引、字段和/或元数据,则您不能真正期望 Solr 不知道此更改并继续运行并返回结果,因为它们哈希不再对应于相同的结构。

    我认为这里最好的方法是尝试确定更改的深度,然后将更新后的结构重新加载到新索引中,然后对您的应用程序进行所需的代码更改,以便它查询这些新结构,或者允许停机时间窗口,只需删除并重建整个内容(尽管这种攻击您的“确保更高的可用性”要求)

    我认为这与对 SQL 中的 DB 表进行热更新相同,并且有两个版本的应用程序同时使用旧结构和新结构,这可以非常小心地完成,并且您会过得更好如果可以的话,把它们分开……

    不确定这是否有帮助,欢呼,

    麦克风。

    关于SolrCloud 和需要索引重建和/或修改代码的更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20502371/

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