问题描述
我正在尝试将Solr索引数据从一台服务器迁移到另一台服务器。
按照我执行的步骤进行操作:
- 创建了集合备份,并将其还原到具有最新Solr版本(即8.6.1)的另一台服务器上。
- 创建了复制备份,以将数据迁移到另一台服务器。
在还原复制时,出现如下错误:
{
"responseHeader":{
"status":0,"QTime":0},"restorestatus":{
"snapshotName":"snapshot.redcurrant_2020_data","status":"failed","exception":"org.apache.solr.common.SolrException: Exception while restoring the backup index"},"status":"ERROR","message":"Unable to read restorestatus","exception":"java.util.concurrent.ExecutionException:java.util.concurrent.ExecutionException: org.apache.solr.common.SolrException: Exception while restoring the backup index"}
创建复制备份时使用的API:
http://localhost:8983/solr/test_2020_replica_1/replication?command=backup&name=test_2020_data&location=/bk/test2020backup
还原复制备份时使用的API:
http://localhost:8983/solr/test_2020_replica_n59/replication?command=restore&name=test_2020_data&location=/bk/test2020backup
注意:当我在另一台服务器上恢复集合时,核心名称是不同的。
解决方法
我一直在尝试同样的事情并收到同样的错误,除非我使版本匹配。似乎通常不支持在不同版本的 solr 实例之间复制索引。您可能需要从源或使用 SolrEntityProcessor 之类的东西重新索引新实例中的数据。