我在独立服务器上运行SOLR,我正在测试备份和恢复,以便采取我在命令下面使用的备份
curl 'http://localhost:8983/solr/coreName/replication?command=backup'
以上命令可以成功进行备份。但我使用下面的命令来恢复以前采取的备份。
curl 'http://localhost:8983/solr/coreName/replication?command=restore'
使用了最新的备份并成功恢复。但我想在命令中传递备份名称,所以我尝试了下面的命令
curl 'http://localhost:8983/solr/coreName/replication?command=restore&name=snapshot.2017xxxxxx'`
当我运行此备份时,如果检查恢复状态
,则备份错误如下所示<str name="status">failed</str><str name="exception">org.apache.lucene.index.IndexNotFoundException: no segments* file found in MMapDirectory@/database/solr/data/UMB/data/snapshot.snapshot.20170503060914378 lockFactory=org.apache.lucene.store.NativeFSLockFactory@9ee14c9: files: []</str></lst>
有人可以建议我哪里出错了。 SOLR托管在Cent OS上。
谢谢
答案 0 :(得分:1)
我发现了造成这些问题的原因。当我们传递备份名称而不是传递像snapshot.2017xxxxx这样的完整名称时,在Linux上托管的SOLR我们只需要排除快照并仅传递时间戳详细信息。命令如下所示
foreach (Object item in sknBox.SelectedItems)
{
Console.WriteLine((item as MyObject).Value); // or whatever it happens to be
Console.WriteLine((item as MyObject).Label);
}