【问题标题】:How to move data to solr production instance without re-indexing?如何在不重新索引的情况下将数据移动到 solr 生产实例?
【发布时间】:2015-08-27 07:11:38
【问题描述】:

我们有一个离线系统,我们使用来自外部来源的输入文档,转换它们并将它们存储在 solr 中,一次一个集合。

有一个生产 solr 实例,其配置不同于离线 solr 实例(但具有相同版本的 solr),一旦数据准备就绪,就需要将其移至该实例。这设置为定期运行,每次有新的传入数据时,它将替换生产实例中具有相同名称和模式的集合的文档。

是否有可能做到这一点而不必在生产实例中重新索引集合?是否有某种备份和恢复机制可以让我们以最短的停机时间将数据、索引和所有内容复制到生产系统中?

【问题讨论】:

  • 您使用的是哪个版本的 Solr?
  • @cheffe 我正在使用 solr 5.3.0
  • 可以使用标准复制吗? (并在提交/优化时复制)
  • @MatsLindh 离线 solr 实例不够大,无法容纳任何给定时间点的所有数据,无法成为主实例。它实际上是离线进程写入的“临时”数据库,而不是直接写入生产服务器。
  • @MatsLindh 但是,是的,我可以看到标准复制是如何可行的。如果两个solr核心在两个不同的数据中心会不会有问题?

标签: solr


【解决方案1】:

您可以尝试在一个系统上进行备份,然后在另一个系统上进行还原:

备份:

http://localhost:8983/solr/your-collection-name/replication?command=backup&location=d:\\solr-backup

恢复:

http://localhost:8983/solr/your-collection-name/replication?command=restore&location=d:\\solr-backup

localhost:8983 更改为您的服务器名称和端口(一个备份,另一个恢复),your-collection-name 更改为您的核心名称,d:\\solr-backup 是服务器上的文件夹,备份将位于其中(确保将备份数据从一台服务器复制到另一台服务器)。

另请参阅solr wiki

【讨论】:

  • 我们可以从一个集群备份 solr 索引并在另一个集群上恢复该索引吗?
【解决方案2】:

我想你也可以试试这个:-

备份:

 http://localhost:8983/solr/admin/collections?action=BACKUP&name=BackupName&collection=CollectionName&location=/BackupLocation

恢复:

http://localhost:8983/solr/admin/collections?action=RESTORE&name=BackupName&location=/BackupLocation&collection=CollectionName

注意:无需创建集合还原 URL。

【讨论】:

  • 当我使用独立模式时如何使用它,使用它会给我一个错误,指出Solr instance is not running in SolrCloud mode
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-06
  • 1970-01-01
  • 2020-07-15
相关资源
最近更新 更多