Solr Search_api_attachment 从 drush 建立索引时失败

Solr Search_api_attachment failing while Indexing from drush

配置:PHP 5.6 Solr-5.5.5 RHEL7 drupal7 search_api_attachments 7.x

ndes 的索引通过 UI si 成功但通过附件搜索无效。 通过 drush sapi-i 'my_Index_name' 建立索引时出现以下错误:

"WD search_api_attachments: SearchApiException: "500" Status: Server Error: Server                                                                                                               [error]
Error{"error":{"metadata":{"error-class":"org.apache.solr.common.SolrException","root-error-class":"java.lang.ClassNotFoundException"},"msg":"Error loading class
'solr.extraction.ExtractingRequestHandler'","trace":"org.apache.solr.common.SolrException: Error loading class 'solr.extraction.ExtractingRequestHandler'\n\tat
org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:558)\n\tat org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:489)\n\tat
org.apache.solr.core.SolrCore.createInstance(SolrCore.java:566)\n\tat org.apache.solr.core.PluginBag$LazyPluginHolder.createInst(PluginBag.java:363)\n\tat
org.apache.solr.core.PluginBag$LazyPluginHolder.get(PluginBag.java:348)\n\tat org.apache.solr.core.PluginBag.get(PluginBag.java:148)\n\tat
org.apache.solr.handler.RequestHandlerBase.getRequestHandler(RequestHandlerBase.java:231)\n\tat org.apache.solr.core.SolrCore.getRequestHandler(SolrCore.java:1362)\n\tat
org.apache.solr.servlet.HttpSolrCall.extractHandlerFromURLPath(HttpSolrCall.java:328)\n\tat org.apache.solr.servlet.HttpSolrCall.init(HttpSolrCall.java:298)\n\tat
org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:414)\n\tat org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:257)\n\tat
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:208)\n\tat org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)\n\tat
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)\n\tat
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)\n\tat org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)\n\tat
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)\n\tat org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)\n\tat
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)\n\tat
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\n\tat org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)\n\tat
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)\n\tat
org.eclipse.jetty.server.Server.handle(Server.java:499)\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)\n\tat
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)\n\tat org.eclipse.jetty.io.AbstractConnection.run(AbstractConnection.java:540)\n\tat
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.run(QueuedThreadPool.java:555)\n\tat
java.lang.Thread.run(Thread.java:748)\nCaused by: java.lang.ClassNotFoundException: solr.extraction.ExtractingRequestHandler\n\tat
java.net.URLClassLoader.findClass(URLClassLoader.java:382)\n\tat java.lang.ClassLoader.loadClass(ClassLoader.java:418)\n\tat
java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:817)\n\tat java.lang.ClassLoader.loadClass(ClassLoader.java:351)\n\tat java.lang.Class.forName0(Native Method)\n\tat
java.lang.Class.forName(Class.java:348)\n\tat org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:542)\n\t... 32 more\n","code":500}}
 in SearchApiSolrConnection->checkResponse() (line 546 of /var/www/dxstore/sites/all/modules/contrib/search_api_solr/includes/solr_connection.inc).
WD search_api_attachments: SearchApiException: "500" Status: Server Error: Server                                                                                                           [error]
"

但是 Solr 的所有其他搜索和列表功能仍然运行良好,但无法通过附件进行搜索。

谁能告诉我哪里出错了。

在 Solr 5.5.5 的文档中,第 200 页提到“如果您没有使用提供的 sample_techproducts_configs 或 data_driven_schema_conf igs 配置集,您必须配置自己的 solrconfig.xml 以了解包含 ExtractingRequestHandler 的 Jar 及其依赖项:

enter image description here

因此,在 Core 的 conf/ 文件夹中的 solrconfig.xml 路径中更正所有 .jar 文件的路径后,问题仍然存在。但是当我将 " <lib dir="${**solr.contrib.dir**:../../../..}/contrib/extraction/lib" regex=".*\.jar" />" 更改为 <lib dir="${**solr.install.dir**:../../../..}/contrib/extraction/lib" regex=".*\.jar" /> 它工作正常,在索引附件时没有更多错误。