You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Sean Glover <wl...@gmail.com> on 2012/07/08 23:12:23 UTC
Deployment with LUCENE-2899 patch can't load solr.OpenNLPTokenizerFactory
Hi,
Platform: ubuntu 12.04
Package: apache-solr-4.0-2012-07-07_11-55-05-src.tgz
Web: Apache Tomcat/7.0.26
I'm trying to use the LUCENE-2899 patch
(https://issues.apache.org/jira/browse/LUCENE-2899). As an end-user I
believe this is the correct list to post to.
I'm new to Solr, so I started by successfully deploying the
solr/example project to tomcat7.
To deploy a 2nd instance of solr that uses the OpenNLP configuration I
performed the following steps as per the OpenNLP wiki page
(http://wiki.apache.org/solr/OpenNLP).
ant compile
cd solr/contrib/opennlp/src/test-files/training
run 'bin/trainall.sh'
run ant-testcontrib
All these tasks executed successfully. Then I attempted to actually
deploy my Solr w/ OpenNLP instance with the following steps.
Downloaded real models from http://opennlp.sourceforge.net/models-1.5/
(except for the content of coref, do I need to get this?)
copied my solr-example deployment to create a solr-nlp deployment
copied opennlp config to my deployment config
source: solr/contrib/opennlp/src/test-files/opennlp/solr/collection1/conf
dest: /var/tomcat/solr/nlp/solr/collection1/conf
copied opennlp libs to my deployment libs
- source: solr/contrib/opennlp/lib
- dest: /var/tomcat/solr/nlp/solr/collection1/lib
updated my deployed solrconfig.xml
- set dataDir: <dataDir>${solr.data.dir:/var/tomcat/solr/nlp/solr/collection1/data}</dataDir>
- an absolute path was recommended by the Tomcat7 Solr deployment guide
added a lib: <lib dir="/var/tomcat/solr/nlp/solr/collection1/lib"
regex=".*\.jar"/>
- again, i specified an absolute path so tomcat would know exactly
where to load the opennlp libs from
When I attempt to hit my NLP instance of solr I get the following
error (http://localhost:8080/solr-nlp/admin)
"This interface requires that you activate the admin request handlers,
add the following configuration to your solrconfig.xml:"
However, I have the admin requestHandler defined exactly as requested.
Is this a catch-all error of some sort?
When I dig a little deeper and look at the Catalina logs I found an
error and stack trace.
SEVERE: null:org.apache.solr.common.SolrException: Plugin init failure
for [schema.xml] fieldType "text_opennlp": Plugin init failure for
[schema.xml] analyzer/tokenizer: Error loading class
'solr.OpenNLPTokenizerFactory'
at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:168)
at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:364)
at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:111)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:816)
at org.apache.solr.core.CoreContainer.load(CoreContainer.java:514)
at org.apache.solr.core.CoreContainer.load(CoreContainer.java:335)
at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:284)
at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:106)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4638)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5294)
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.deployDescriptor(HostConfig.java:649)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1581)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.solr.common.SolrException: Plugin init failure
for [schema.xml] analyzer/tokenizer: Error loading class
'solr.OpenNLPTokenizerFactory'
at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:168)
at org.apache.solr.schema.FieldTypePluginLoader.readAnalyzer(FieldTypePluginLoader.java:322)
at org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:95)
at org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:43)
at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:142)
... 25 more
Caused by: org.apache.solr.common.SolrException: Error loading class
'solr.OpenNLPTokenizerFactory'
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:415)
at org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:430)
at org.apache.solr.util.plugin.AbstractPluginLoader.create(AbstractPluginLoader.java:86)
at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:142)
... 29 more
Caused by: java.lang.ClassNotFoundException: solr.OpenNLPTokenizerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:787)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:399)
... 32 more
It looks as though it can't find the solr.OpenNLPTokenizerFactory
referenced by my schema.xml. But in the Catalina log I can see that
it's picking up the OpenNLP lib jar's successfully.
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrResourceLoader
replaceClassLoader
INFO: Adding 'file:/var/tomcat/solr/nlp/solr/collection1/lib/opennlp-tools-1.5.2-incubating.jar'
to classloader
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrResourceLoader
replaceClassLoader
INFO: Adding 'file:/var/tomcat/solr/nlp/solr/collection1/lib/opennlp-tools-1.5.2-incubating.jar.sha1'
to classloader
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrResourceLoader
replaceClassLoader
INFO: Adding 'file:/var/tomcat/solr/nlp/solr/collection1/lib/opennlp-maxent-3.0.2-incubating.jar'
to classloader
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrResourceLoader
replaceClassLoader
INFO: Adding 'file:/var/tomcat/solr/nlp/solr/collection1/lib/jwnl-1.4_rc3-LICENSE-BSD_LIKE.txt'
to classloader
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrResourceLoader
replaceClassLoader
INFO: Adding 'file:/var/tomcat/solr/nlp/solr/collection1/lib/opennlp-maxent-3.0.2-incubating-LICENSE-ASL.txt'
to classloader
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrResourceLoader
replaceClassLoader
INFO: Adding 'file:/var/tomcat/solr/nlp/solr/collection1/lib/jwnl-1.4_rc3-NOTICE.txt'
to classloader
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrResourceLoader
replaceClassLoader
INFO: Adding 'file:/var/tomcat/solr/nlp/solr/collection1/lib/opennlp-tools-1.5.2-incubating-LICENSE-ASL.txt'
to classloader
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrResourceLoader
replaceClassLoader
INFO: Adding 'file:/var/tomcat/solr/nlp/solr/collection1/lib/opennlp-tools-1.5.2-incubating-NOTICE.txt'
to classloader
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrResourceLoader
replaceClassLoader
INFO: Adding 'file:/var/tomcat/solr/nlp/solr/collection1/lib/opennlp-maxent-3.0.2-incubating.jar.sha1'
to classloader
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrResourceLoader
replaceClassLoader
INFO: Adding 'file:/var/tomcat/solr/nlp/solr/collection1/lib/jwnl-1.4_rc3.jar.sha1'
to classloader
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrResourceLoader
replaceClassLoader
INFO: Adding 'file:/var/tomcat/solr/nlp/solr/collection1/lib/jwnl-1.4_rc3.jar'
to classloader
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrResourceLoader
replaceClassLoader
INFO: Adding 'file:/var/tomcat/solr/nlp/solr/collection1/lib/opennlp-maxent-3.0.2-incubating-NOTICE.txt'
to classloader
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrConfig initLibs
INFO: Adding specified lib dirs to ClassLoader
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrResourceLoader
replaceClassLoader
INFO: Adding 'file:/var/tomcat/solr/nlp/solr/collection1/lib/opennlp-tools-1.5.2-incubating.jar'
to classloader
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrResourceLoader
replaceClassLoader
INFO: Adding 'file:/var/tomcat/solr/nlp/solr/collection1/lib/opennlp-maxent-3.0.2-incubating.jar'
to classloader
Jul 08, 2012 4:53:22 PM org.apache.solr.core.SolrResourceLoader
replaceClassLoader
INFO: Adding 'file:/var/tomcat/solr/nlp/solr/collection1/lib/jwnl-1.4_rc3.jar'
to classloader
Please advise on how I can troubleshoot this further.
Regards,
Sean