首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >solr在authority-example.jar中加载manifoldcf搜索组件时出错

solr在authority-example.jar中加载manifoldcf搜索组件时出错
EN

Stack Overflow用户
提问于 2012-08-01 00:25:29
回答 1查看 473关注 0票数 0

我正在使用Solr4.0alpha和manifoldcf .5.1,我下载并构建了.5.1-example.jar,并将其放到了solrconfig.xml / solr /lib中,并添加了适当的行。我注意到authority-example.jar是用SolrV3.2Jars构建的,这与solr4.0兼容吗?如果我把所有的旧罐子换成新罐子,我能重建罐子吗?我该如何解决这个问题?敬请指教...错误是:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-02 00:49:27

好吧,我想通了,但这本书(ManifoldCF in Action)并不清楚。我构建了authority-example.jar,并将其与apache-solr-mcf-4.0-SNAPSHOT.jar及其依赖项放在了SOLR_HOME/lib目录中。这解决了许多错误,比如上面的错误。下一个问题是在solrconfi.xml文件中放入什么内容。书上说把这个放进去:

代码语言:javascript
复制
<requestHandler name="search" class="solr.SearchHandler" default="true">
<arr name="last-components">
<str>manifoldCFSecurity</str>
</arr>
...
</requestHandler>

好吧,这不起作用!要解决这个问题,你需要把/query (最后一个组件和多个components)放在requesthandler /browse /select /query中,然后对查询结果进行相应的过滤!我自然而然地认为,出于显而易见的原因,即使不是所有的请求处理者,也需要为大多数人打开安全性。我还假设上面的requesthandler必须是name="/search“才能工作,但我还没有试过。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11744752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档