如何在不重新索引的情况下将数据移动到solr生产实例?

如何在不重新索引的情况下将数据移动到solr生产实例?,solr,Solr,我们有一个离线系统,在这个系统中,我们使用来自外部源的输入文档,转换它们并将它们存储在solr中,一次一个集合 有一个生产solr实例的配置与离线solr实例不同(但具有相同版本的solr),数据准备就绪后需要移动到该实例。它被设置为定期运行,并且每当有新的传入数据时,它都将替换生产实例中具有相同名称和架构的集合的文档 是否可以在不必在生产实例中重新索引集合的情况下执行此操作?是否有某种备份和恢复机制,使我们能够将数据、索引和所有内容复制到生产系统中,而停机时间最短?您可以尝试在一个系统上进行备

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

有一个生产solr实例的配置与离线solr实例不同(但具有相同版本的solr),数据准备就绪后需要移动到该实例。它被设置为定期运行,并且每当有新的传入数据时,它都将替换生产实例中具有相同名称和架构的集合的文档


是否可以在不必在生产实例中重新索引集合的情况下执行此操作?是否有某种备份和恢复机制,使我们能够将数据、索引和所有内容复制到生产系统中,而停机时间最短?

您可以尝试在一个系统上进行备份,在另一个系统上进行恢复:

备份:

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
更改为您服务器的名称和端口(一台上备份,另一台上还原),
您的集合名称
更改为您的核心名称,
d:\\solr backup
是服务器上备份所在的文件夹(请确保将备份数据从一台服务器复制到另一台服务器)


另请参见。

我想您也可以尝试以下方法:-

备份:

 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?@cheffe我使用的是Solr 5.3.0您可以使用标准复制吗?(并在提交/优化时进行复制)@MatsLindh脱机solr实例的大小不足以容纳任何给定时间点的所有数据,从而使其成为主实例。它实际上是一个“临时”数据库,脱机进程将写入该数据库,而不是直接写入生产服务器。@MatsLindh但是,是的,我可以看到标准复制是如何可行的。如果两个solr Core位于两个不同的数据中心,会有问题吗?当我使用独立模式时,如何使用此选项?使用此选项会出现错误,说明
solr实例未在SolrCloud模式下运行
我们可以从一个群集备份solr索引并在另一个群集上恢复该索引吗?