【问题标题】:Rename Apache Solr Collection or something like that重命名 Apache Solr Collection 或类似的名称
【发布时间】:2020-08-20 00:36:53
【问题描述】:

我知道我们不能直接重命名任何 solr 集合。我们可以创建一个指向集合的别名。但是我们需要重命名集合。有没有办法在 solrcloud 中实现以下目标? (版本:apache-solr 8.4.1 版)

  1. 我们有一个 main_collection(我们目前正在使用它)
  2. 我们有第二个集合 temp_collection(我们计划移动)
  3. 我们不能同时迁移两者
  4. 我们有很多应用程序被硬编码为使用 main_collection
  5. 我们在 temp_collection 中有大量索引。

我们最初的想法是将 main_collection 重命名为 backup_collection,然后将 temp_collection 重命名为 main_collection。

有没有办法达到同样的效果。这样我们就不会遇到应用程序的任何停机时间。

【问题讨论】:

  • 请注意RENAME-ing Solr 中的集合实际上不会更改集合的名称(即原始名称仍然存在于分片名称中,等等)。它 - 事实上 - 只是做你已经提到的,改变集合的别名。 “重命名集合会设置一个指向基础集合的标准别名,因此现在可以使用新名称在查询、索引和管理操作中引用相同的(未修改的)集合。”。使用别名是处理此问题的正确方法,无需大量停机。
  • 谢谢@MatsLindh,我们可以创建与collection 同名的别名吗?在我们的例子中:main_collection?
  • 我会尽量避免这种情况,但是重命名main_collection 和创建别名应该是一个相当快的过程,因此应该限制停机时间(也许几秒钟?先测试一下)。问题是你有对main_collection 的硬编码引用,否则你可以创建aliased_collection_name,更新配置以指向它,然后在以后根据需要交换它。

标签: indexing solr lucene solrcloud solr4


【解决方案1】:

您可以尝试这些步骤。

  1. 在新集合中索引您的数据。
  2. 索引所有数据后,为新集合创建别名。提供与旧集合相同的别名。
  3. 您的所有新请求都将被重定向到新的 收藏。
  4. 设置完所有内容后,您可以删除旧的 收藏。

在这里您可以找到列出的所有集合 API。 Collection APIs

【讨论】:

    猜你喜欢
    • 2022-08-23
    • 2011-07-27
    • 2012-03-03
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多