gpt4 book ai didi

tomcat - 找不到 Solr DataImportHandler

转载 作者:行者123 更新时间:2023-11-28 21:44:09 25 4
gpt4 key购买 nike

我正在使用 Solr 3.3.0使用 Tomcat 6.0.26。我能够成功安装 Solr,甚至能够使用 http:/localhost:8084/solr/admin 访问其 Web 界面。

现在我想使用它的 dataimporthandler 从我的数据库中索引数据。我在我的 solrconfig 中添加了以下内容:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImport
Handler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>

我还在同一目录中创建了一个 data-config.xml。

我的 solrconfig 文件具有以下数据导入位置

  <lib dir="../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" /> 

而且我已经检查过 dataimporthandler.jar 文件存在于以下路径 C:\web\solr\example\lib\apache-solr-3.3.0\dist 的 dist 文件夹中

但是每当我键入 http:/localhost:8084/solr/dataimport 或 http:/localhost:8084/solr/admin/dataimport 时,它都会说资源不可用。我认为这是由于 Tomcat 设置出现了一些问题,所以我停止了 tomcat 并尝试使用 java -jar start.jar 从 cmd 启动 Solr。我收到以下错误

HTTP ERROR 500
Problem accessing /solr/. Reason:
Severe errors in solr configuration.
Check your log files for more detailed information on what may be wrong.
If you want solr to continue after configuration errors, change:

<abortOnConfigurationError>false</abortOnConfigurationError>

in solr.xml

-------------------------------------------------------------
org.apache.solr.common.SolrException: Error loading class
'org.apache.solr.handler.dataimport.DataImportHandler'
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:389)
at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:423)
at org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:459)
at
org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:157)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:563)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:463)
at org.apache.solr.core.CoreContainer.load(CoreContainer.java:316)
at org.apache.solr.core.CoreContainer.load(CoreContainer.java:207)
at
org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:130)
at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:94)
at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at
org.mortbay.jetty.handler.ContextHandlerCollection.doStart
(ContextHandlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:985)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mortbay.start.Main.invokeMain(Main.java:194)
at org.mortbay.start.Main.start(Main.java:534)
at org.mortbay.start.Main.start(Main.java:441)
at org.mortbay.start.Main.main(Main.java:119)
Caused by: java.lang.ClassNotFoundException:
org.apache.solr.handler.dataimport.DataImportHandler
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.net.FactoryURLClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:373)
... 34 more

最佳答案

我一直在自己研究这个问题,使用 solr 4.1 和 tomcat。我无法将我需要的库包含在 <lib dir="../../dist/" regex="solr-dataimporthandler-.*\.jar" /> --> 中,我认为这必须是正确的,因为从我在其中包含 solrconfig.xml 的目录来看,它是向上的两个目录和向下的 dist 目录。直到我临时替换为直接路径(对我来说,/opt/solr/dist),我才意识到问题是我从错误的目录开始。原来我需要的是:

<lib dir="../dist/" regex="solr-dataimporthandler-.*\.jar" /> -->

因此,如果您在包含这个时遇到问题,请检查您是从包含您的 conf 目录的目录开始的,而不是 conf 目录本身。

关于tomcat - 找不到 Solr DataImportHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6934411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com