在NoSuchDirectoryException和IndexNotFoundException之间捕获
我正在尝试按照设置Islandora 7.1.3。FedoraCommons和Drupal正在工作,但我对Solr4.2/fedoragsearch 2.6有一个问题 按照上的说明,我在步骤14遇到了问题 当我试图更新[url]/fedoragsearch/rest?operation=updateIndex处的索引时,出现以下错误: IndexReader打开错误indexName=FgsIndex:;嵌套异常为:org.apache.lucene.store.NoSuchDirectoryException:目录“path/to/solr/collection1/data/index”不存在 这看起来很简单,所以我关闭了tomcat并在现有的collection1目录中创建了数据/索引。重新启动tomcat并重试后,我得到: IndexReader打开错误indexName=FgsIndex:;嵌套异常为:org.apache.lucene.index.IndexNotFoundException:org.apache.lucene.store.SimpleFSDirectory@/path/to/solr/collection1/data/index lockFactory=org.apache.lucene.store中未找到segments*文件。NativeFSLockFactory@68aed52c:文件:[] 如果索引目录存在,则建议快速搜索此错误。Solr希望该目录不为空,解决方案是删除该目录并让Solr创建它。但这给了我以前的错误 我尝试过在collection1/data目录存在和不存在的情况下(无论哪种方式,都没有目录例外),并且在尝试解决此问题时,我将collection1(以及collection1/data,如果存在)的权限设置为777 非常感谢您的帮助。基本上,当您尝试使用/列出不存在的目录时,会引发异常,因此您必须首先创建它 异常表示在目录中找不到索引。可能是因为目录为空,但是也可能表示索引损坏在NoSuchDirectoryException和IndexNotFoundException之间捕获,exception,solr,lucene,islandora,Exception,Solr,Lucene,Islandora,我正在尝试按照设置Islandora 7.1.3。FedoraCommons和Drupal正在工作,但我对Solr4.2/fedoragsearch 2.6有一个问题 按照上的说明,我在步骤14遇到了问题 当我试图更新[url]/fedoragsearch/rest?operation=updateIndex处的索引时,出现以下错误: IndexReader打开错误indexName=FgsIndex:;嵌套异常为:org.apache.lucene.store.NoSuchDirectoryE
因此,在这种情况下,您应该删除数据目录,并在启动时重新创建它。OP似乎已在上解决了此问题 这似乎是由于solrconfig.xml
DataDir
与gsearch查找索引的位置不匹配造成的:
solrconfig.xml在solr/data处指定了一个dataDir。gsearch正在查找solr/collection1/data
此后,Islandora指南上发布了类似的评论:
解决方案是修改$FEDORA_HOME/solr/collection1/conf/solrconfig.xml:
<dataDir>${solr.data.dir:}</dataDir>
${solr.data.dir:}
应该是
<dataDir>${solr.data.dir:./solr/data}</dataDir>
${solr.data.dir:./solr/data}
@kenorb可能重复-对我来说,听起来他们可能已经遇到了这个问题。@paddymcc-我已经在谷歌群组的帖子中发布了一个基于你的解决方案的社区wiki答案。如果你想发布你自己的答案,我很乐意删除我的。你应该为此受到表扬。否则,请毫不犹豫地进行编辑。