I’m using solr 4.0 alpha with manifoldcf .5.1 and I downloaded and built the authority-example.jar and placed in example/solr/lib and added the appropriate lines to solrconfig.xml.
I noticed that the authority-example.jar was built with solr v3.2 jars is this compatible with solr4.0?
Can I rebuild the jar if I swap out all the old jars with the new ones?
How do I fix this? Please advise…
The error is:
SEVERE: null:org.apache.solr.common.SolrException: Error loading class 'org.apac
he.solr.mcf.ManifoldCFSearchComponent'
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.
java:415)
at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:420)
at org.apache.solr.core.SolrCore.createInitInstance(SolrCore.java:463)
at org.apache.solr.core.SolrCore.initPlugins(SolrCore.java:1824)
at org.apache.solr.core.SolrCore.initPlugins(SolrCore.java:1818)
at org.apache.solr.core.SolrCore.initPlugins(SolrCore.java:1851)
at org.apache.solr.core.SolrCore.loadSearchComponents(SolrCore.java:906)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:572)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:504)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:816)
at org.apache.solr.core.CoreContainer.load(CoreContainer.java:510)
at org.apache.solr.core.CoreContainer.load(CoreContainer.java:333)
at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContain
er.java:282)
at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.ja
va:101)
at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:114)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:59)
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.ja
va:754)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletC
ontextHandler.java:258)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.jav
a:1221)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandle
r.java:699)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454
)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:59)
at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(Stan
dardStarter.java:36)
at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:1
83)
at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentM
anager.java:491)
at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.j
ava:138)
at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(Scan
ningAppProvider.java:142)
at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(Sc
anningAppProvider.java:53)
at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:604)
at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:535)
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:398)
at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:332)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:59)
at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(Scanni
ngAppProvider.java:118)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:59)
at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(Deploymen
tManager.java:552)
at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.
java:227)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:59)
at org.eclipse.jetty.util.component.AggregateLifeCycle.doStart(Aggregate
LifeCycle.java:63)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHand
ler.java:53)
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrappe
r.java:91)
at org.eclipse.jetty.server.Server.doStart(Server.java:263)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLife
Cycle.java:59)
at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:12
15)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:113
8)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jetty.start.Main.invokeMain(Main.java:457)
at org.eclipse.jetty.start.Main.start(Main.java:602)
at org.eclipse.jetty.start.Main.main(Main.java:82)
Caused by: java.lang.ClassNotFoundException: org.apache.solr.mcf.ManifoldCFSearc
hComponent
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.net.FactoryURLClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.
java:399)
... 52 more
Ok, I figured it out, but the book (ManifoldCF in Action) was unclear.
I built the authority-example.jar and I put it in the SOLR_HOME/lib directory along with the apache-solr-mcf-4.0-SNAPSHOT.jar and it’s dependencies.
That resolved a lot of the errors such as the one above.
the next issue is what to put in the solrconfi.xml file.
The book says put this in:
Well this doesn’t work!
To fix it, you need to take the guts (last-components and manifoldcfsecurity) and put them in the requesthandlers /browse /select /query etc and then the query results were filtered accordingly!
I naturally assumed that one would need security to be turned on for most if not all requesthandlers for obvious reasons.
I also assume the above requesthandler would have to be name=”/search” to work but I haven’t tried it yet.