我想编写一个基于SolrJ一个Java客户端的全部核心数据拉从远程服务器Solr的一个文件。 后来我想重播该文件到另一台远程服务器Solr的核心。
什么是实现这一功能的最好方法是什么?
我想编写一个基于SolrJ一个Java客户端的全部核心数据拉从远程服务器Solr的一个文件。 后来我想重播该文件到另一台远程服务器Solr的核心。
什么是实现这一功能的最好方法是什么?
现在已经可以用最新的Solr的版本。
为了一个Solr的服务器上实现备份和另外一个恢复需要做到以下几点:
-Dsolr.hdfs.home=...
添加到启动脚本): <solr>
...
<backup>
<repository name="hdfs-repo" class="org.apache.solr.core.backup.repository.HdfsBackupRepository" default="false">
<str name="location">${solr.hdfs.home}/backup</str>
<str name="solr.hdfs.home">${solr.hdfs.home:}</str>
<str name="solr.hdfs.confdir">${solr.hdfs.confdir:}</str>
</repository>
</backup>
</solr>
SolrClient client1 = ...;
CollectionAdminRequest.Backup request1 = new CollectionAdminRequest.Backup(oldCollectionName, backupName);
request1.setRepositoryName("hdfs-repo");
request1.process(client1);
SolrClient client2 = ...;
CollectionAdminRequest.Restore request2 = new CollectionAdminRequest.Restore(newCollectionName, backupName);
request2.setRepositoryName("hdfs-repo");
request2.process(client2);
本例将Solr的7.5,不过貌似功能已经有在6.6(请参阅备份/恢复6.6 )。
不幸的是,Solr中也不solrj没有这样的功能。
但如果你有存储在索引中的所有领域 ,你可能只是读出的所有文件,并将其储存您想要的方式。
检查是否适用于您的情况:
备份 -您可以执行备份,但备份将只在服务器上创建。
创建于主备份,如果有服务器提交的指标数据,否则什么也不做。 这是非常有用采取定期备份。
您可以使用Solr的复制来复制指数的任何远程服务器的Solr的内容。
所以,你可以复制你的指标到本地框,然后再复制它来遥控盒或备份,只是内容传输到遥控盒。