当我运行以下命令来更新Solr索引时:

sh [dspace]/bin/dspace index-discovery


其中[dspace]是DSpace的安装目录,出现以下错误:

Exception: Expected mime type application/octet-stream but got

text/html. <!doctype html><html lang="en"><head><title>HTTP Status 500 – Internal Server Error</title><style type="text/css">h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 500 – Internal Server Error</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Message</b> {msg=SolrCore &#39;search&#39; is not available due to init failure: Error opening new searcher,trace=org.apache.solr.common.SolrException: SolrCore &#39;search&#39; is not available due to init failure: Error opening new searcher
    at org.apache.solr.core.CoreContainer.getCore(CoreContainer.java:745)
    ...
    Caused by: org.apache.solr.common.SolrException: Error opening new searcher
    at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:1565)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1677)
    at org.apache.solr.core.SolrCore.&lt;init&gt;(SolrCore.java:845)
    ... 8 more
.
.
.
Caused by: java.nio.file.AccessDeniedException: ....solr&#47;search&#47;data&#47;index&#47;segments_p
    at java.base&#47;sun.nio.fs.UnixException.translateToIOException(UnixException.java:90)

最佳答案

将错误堆栈跟踪转换为HTML之后,我发现文件[dspace]/solr/search/data/index/segments_p的权限阻止该进程对其进行访问。该文件的所有者为root,我以非root用户身份使用Eclipse运行Tomcat,因此我将自己作为文件的所有者:

chown myself:myself [dspace]/solr/search/data/index/segments_p


然后重新启动Tomcat,然后重新运行命令:

sh [dspace]/bin/dspace index-discovery


做得完美。

关于java - 更新DSpace Solr索引时遇到此错误:由于初始化失败,SolrCore'搜索'不可用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57541514/

10-10 15:32