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

标签 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

最佳答案

属性文件中列出的核心只是为了让调度程序可以组装调用数据导入的 URL。

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

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

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

关于tomcat - Solr 数据导入处理程序调度程序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11136571/

相关文章:

java - Tomcat错误信息 : java. lang.ClassNotFoundException : listeners. ContextListener/SessionListener/websocket.drawboard.DrawboardContextListener

html - HTML 图像未加载的问题

java - 让速度在 war 中找到模板

apache - 如何开发一个简单的搜索引擎以在本地文件中进行全文搜索

python - Scrapy 与 Nutch

solr - Data-config.xml 和 mysql - 我只能加载 "id"列

java - Tomcat:@Overriden 日志过滤器混合输出及其非覆盖变体

mysql - org.apache.solr.handler.dataimport.DataImportHandlerException : Unable to execute query

database - 在 solr 中执行增量导入时的时间戳兼容性

solr - DataImportHandler 和部分更新