运行Solr快速入门教程时无法加载ExtractingRequestHandler

时间:2015-03-04 00:30:09

标签: solr classpath

我使用Homebrew在OS X 10.10.2上安装了Solr 5.0.0。我试图关注quick start instructions并在尝试索引文件目录时遇到错误。

我能够通过运行

成功启动示例Solr服务器
bin/solr start -e cloud -noprompt

按照教程的指示。然后我尝试通过运行

来索引文件目录
./bin/post -c gettingstarted docs/

(请注意,这必须从Solr安装根目录的libexec子目录中完成。)

我为每个尝试添加的文件收到服务器错误500。相关的堆栈:

Caused by: org.apache.solr.common.SolrException: Error loading class 'solr.extraction.ExtractingRequestHandler'
    at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:492)
    at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:423)
    at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:559)
    at org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:632)
    at org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.createRequestHandler(RequestHandlers.java:326)
    at org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.getWrappedHandler(RequestHandlers.java:298)
    ... 30 more

问题似乎是ExtractingRequestHandler不在类路径上。

ExtractingRequestHandler位于solr-cell-5.0.0.jar。

jar tf dist/solr-cell-5.0.0.jar | grep ExtractingRequestHandler
org/apache/solr/handler/extraction/ExtractingRequestHandler.class

我不清楚它是否需要在执行发布或Solr实例的命令的类路径上。 this question的答案听起来像后者。但是,我尝试设置

export CLASSPATH=dist/solr-cell-5.0.0.jar

在尝试索引文件并看到相同的错误之前。

我在教程中没有看到有关如何配置它的任何内容。错误是什么,如何通过它?

1 个答案:

答案 0 :(得分:0)

看起来问题是Solr示例配置中的路径不正确。解决方法是将SOLR_ROOT / contrib和dist的软链接添加到SOLR_ROOT / libexec / contrib

下的相应目录中

详情herehere