Solr数据导入处理程序调度程序错误

时间:2012-06-21 10:51:15

标签: tomcat solr dataimporthandler

我无法让solr dataimportscheduler工作。我有最新的jar文件,它包含了所需的所有类文件。我试图启动tomcat时遇到错误。

    Jun 21, 2012 11:36:06 AM org.apache.catalina.core.StandardContext listenerStart
    SEVERE: Error configuring application listener of class        org.apache.solr.handler.dataimport.scheduler.ApplicationListener
java.lang.ClassNotFoundException: org.apache.solr.handler.dataimport.scheduler.ApplicationListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:525)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:507)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:124)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4715)
    at   org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1617)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

    Jun 21, 2012 11:36:06 AM org.apache.catalina.core.StandardContext listenerStart
    SEVERE: Skipped installing application listeners due to previous error(s)

我假设他们说“不要忘记将以下监听器声明添加到Solr的web.xml中:

<listener>
   <listener-class>org.apache.solr.handler.dataimport.scheduler.ApplicationListener</listener-class>
</listener>

这意味着将以下行添加到Tomcat的web.xml

<listener>
   <listener-class>org.apache.solr.handler.dataimport.scheduler.ApplicationListener</listener-class>
</listener>

非常感谢任何帮助。

由于

更新:

我更新了solr的web.xml,现在tomcat启动时没有任何错误,但是当计划任务运行时,它会使我的索引空白。我有多个solr核心......我把dataimport.properties放在根文件夹中,每个核心放一个。这就是我的属性文件在根目录中的样子。

#################################################
#                                               #
#       dataimport scheduler properties         #
#                                               #
#################################################


syncEnabled=1
syncCores=Internal.Locations #(Locations is a folder inside Internal)


server=localhost
port=8080

webapp=solr

params=/select?qt=/dataimport&command=delta-import&clean=false&commit=true

interval=10

1 个答案:

答案 0 :(得分:1)

属性文件中列出的核心就是这样,Scheduler可以汇编调用数据导入的URL。

这正是您需要在您的属性文件中放置的内容,当您从浏览器手动触发DIH时,以逗号分隔核心名称,因为它们在URL中列出。
当然,您知道核心是在solr/solr.xml中配置的。

顺便说一下,你应该在你的Tomcat控制台(或日志文件)中看到这一行:

<index update process> Multiple cores identified in dataimport.properties. Sync active for: list-of-your-cores