Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在NoSuchDirectoryException和IndexNotFoundException之间捕获_Exception_Solr_Lucene_Islandora - Fatal编程技术网

在NoSuchDirectoryException和IndexNotFoundException之间捕获

在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

我正在尝试按照设置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

非常感谢您的帮助。

基本上,当您尝试使用/列出不存在的目录时,会引发异常,因此您必须首先创建它

异常表示在目录中找不到索引。可能是因为目录为空,但是也可能表示索引损坏


因此,在这种情况下,您应该删除数据目录,并在启动时重新创建它。

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答案。如果你想发布你自己的答案,我很乐意删除我的。你应该为此受到表扬。否则,请毫不犹豫地进行编辑。