Hello I desperately hope someone can help me here... I'm a bit out of my league here.
I am trying to implement content extraction using Tika and Solr as part of a search package for a product I am using. I have been successful in getting Solr to work so far as indexing text, and returning search results, however I am hitting a wall when I try to use Tika for content extraction. I add the following configuration to solrconfig.xml: <requestHandler name="/extract/tika" class="org.apache.solr.handler.extraction.ExtractingRequestHandler"> <lst name="defaults"> </lst> <!-- This path only extracts - never updates --> <lst name="invariants"> <bool name="extractOnly">true</bool> </lst> </requestHandler> During a test, I receive the following error: org.apache.solr.common.SolrException: Error loading class 'org.apache.solr.handler.extraction.ExtractingRequestHandler' The full text of this error is listed below. So, as I indicated in the subject line, I am using Debian linux Squeeze (testing). Tomcat is at version 6.0.26 and is installed by apt. Solr is also installed from apt, and is at version: 1.4.0.2010.04.24.07.20.22. Java -version looks like this: java version "1.6.0_20" Java(TM) SE Runtime Environment (build 1.6.0_20-b02) The JDK is also at the same version, and also from apt. I have built Tika from source (nightly build) using mvn2, and placed the complied jar's in /lib. /lib is located at /var/solr/site/lib, along with /var/solr/site/conf and /var/solr/site/data. Hopefully this is the right place to put the jar's. I also tried building solr from source (also the nightly build), and was able to get solr sort of working (not Tika). I could run a single instance, but getting multiple instances running didn't seem to be in the cards. I didn't pursue this any further. If this is the route I should go down, if anyone can direct me on how to install a built Solr war and configure it so I can use multiple instances, I'll gladly try it out. I found a similar issue to mine at http://mail-archives.apache.org/mod_mbox/lucene-solr-user/200911.mbox/<d2b0462d72664840b72118cb4437cbd403e2a...@ndhamrexm22.amer.pfizer.com><http://mail-archives.apache.org/mod_mbox/lucene-solr-user/200911.mbox/%3cd2b0462d72664840b72118cb4437cbd403e2a...@ndhamrexm22.amer.pfizer.com%3e>, >From that email, I tried copying the built Solr jars into the Solr site's lib directory, then realized that the likelihood of that working was pretty slim - jars built from a nightly build trying to work with a .war from 1.4.0 was probably not going work. As you might have guessed, it didn't. This is when I tried building Solr from source (thinking that if all the Solr stuff was at the same revision, it might work). I have not tried all of this under Jetty. It's my understanding that Jetty won't let me do multiple instances, and since this is a requirement for what I'm doing, I'm more or less constrained to Tomcat. I have also seen some other references to using OpenJDK instead of Sun JDK. This resulted in the same error (don't recall the site where I saw this referenced). Any help would be greatly appreciated. I am new to Tomcat and Solr, so I may have some dumb follow-up questions that will be googled thoroughly first. Sorry in advance.. Tim -- ------------------------------------------------------------- org.apache.solr.common.SolrException: Error loading class 'org.apache.solr.handler.extraction.ExtractingRequestHandler' at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:373) at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:414) at org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:450) at org.apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.java:152) at org.apache.solr.core.SolrCore.<init>(SolrCore.java:557) at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:137) at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:83) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:785) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:519) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:581) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) Caused by: java.lang.ClassNotFoundException: org.apache.solr.handler.extraction.ExtractingRequestHandler at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:627) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:357) ... 33 more