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.&lt;init&gt;(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.&lt;init&gt;(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

Reply via email to