不幸的是,我使用选中的干净索引选项运行了完整的数据导入。我能够复制整个索引到备份目录之前,他们被删除(我杀死了solr),但segments.gen和segments_N文件已经更新,所以任何时候我复制回索引到它的原始目录,所有的索引文件在Solr启动时被删除。
我认为它被删除是因为段文件不包含我的索引文件信息-因为段文件指向“清理后”的索引文件。
我试图以某种方式重建段文件,但不幸的是,我也不知道如何通过solr代码更改来做到这一点。
有没有可能做这件事?
发布于 2014-07-15 23:29:40
我猜测,听起来segment_N和segments.gen文件不太可能是唯一丢失的文件,但您可以尝试使用CheckIndex。
您可以从命令行运行它,如下所示:
java -ea:org.apache.lucene... org.apache.lucene.index.CheckIndex path/to/index -fix或者,您可以在自己的实现中调用它的方法,如下所示:
Directory directory = FSDirectory.open(new File("path/to/index"));
CheckIndex check = new CheckIndex(directory);
CheckIndex.Satus status = check.checkIndex();
check.fixIndex(status);https://stackoverflow.com/questions/24760580
复制相似问题