2013-03-28 3 views
1

Я работаю с solr для индексации файлов pdf и doc. Я работаю с Bitnami стека (http://bitnami.com/stack/solr)solr lazy ошибка загрузки при извлечении файла pdf

теперь я добавить следующий код на C# приложение:

string filecontent = null; 

    using (var file = File.OpenRead(@"C:\\cookbook.pdf")) 
    { 
     var response = solr.Extract(new ExtractParameters(file, "abcd1") 
     { 
      ExtractOnly = true, 
      ExtractFormat = ExtractFormat.Text, 
     }); 

     filecontent = response.Content; 
    } 
    solr.Commit(); 

вот что я сделал до сих пор, см Index pdf documents in Solr from C# client

, к сожалению, я всегда получаю следующее исключение:

SolrNet.Exceptions.SolrConnectionException was unhandled 
    HResult=-2146232832 
    Message=<?xml version="1.0" encoding="UTF-8"?> 
<response> 
<lst name="error"><str name="msg">lazy loading error</str><str name="trace">org.apache.solr.common.SolrException: lazy loading error 
    at org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.getWrappedHandler(RequestHandlers.java:258) 
    at org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.handleRequest(RequestHandlers.java:240) 
    at org.apache.solr.core.SolrCore.execute(SolrCore.java:1797) 
    at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:637) 
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:343) 
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:141) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) 
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:560) 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1072) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:382) 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1006) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) 
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) 
    at org.eclipse.jetty.server.Server.handle(Server.java:365) 
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:485) 
    at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53) 
    at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:926) 
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:988) 
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:642) 
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 
    at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) 
    at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: org.apache.solr.common.SolrException: Error loading class 'solr.extraction.ExtractingRequestHandler' 
    at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:440) 
    at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:519) 
    at org.apache.solr.core.SolrCore.createRequestHandler(SolrCore.java:593) 
    at org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.getWrappedHandler(RequestHandlers.java:249) 
    ... 30 more 
Caused by: java.lang.ClassNotFoundException: solr.extraction.ExtractingRequestHandler 
    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:789) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:266) 
    at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:424) 
    ... 33 more 
</str><int name="code">500</int></lst> 
</response> 

    Source=SolrNet 
    Url=http://berserkerpc:444/solr/update/extract?literal.id=abcd1&resource.name=C:%5ccookbook.pdf&extractOnly=true&extractFormat=text&version=2.2 
    StackTrace: 
     bei SolrNet.Impl.SolrConnection.PostStream(String relativeUrl, String contentType, Stream content, IEnumerable`1 parameters) in c:\Users\troth\Desktop\SolrNet-master\SolrNet\Impl\SolrConnection.cs:Zeile 119. 
     bei SolrNet.Commands.ExtractCommand.Execute(ISolrConnection connection) in c:\Users\troth\Desktop\SolrNet-master\SolrNet\Commands\ExtractCommand.cs:Zeile 36. 
     bei SolrNet.Impl.SolrBasicServer`1.Send(ISolrCommand cmd) in c:\Users\troth\Desktop\SolrNet-master\SolrNet\Impl\SolrBasicServer.cs:Zeile 102. 
     bei SolrNet.Impl.SolrBasicServer`1.SendAndParseExtract(ISolrCommand cmd) in c:\Users\troth\Desktop\SolrNet-master\SolrNet\Impl\SolrBasicServer.cs:Zeile 106. 
     bei SolrNet.Impl.SolrBasicServer`1.Extract(ExtractParameters parameters) in c:\Users\troth\Desktop\SolrNet-master\SolrNet\Impl\SolrBasicServer.cs:Zeile 83. 
     bei SolrNet.Impl.SolrServer`1.Extract(ExtractParameters parameters) in c:\Users\troth\Desktop\SolrNet-master\SolrNet\Impl\SolrServer.cs:Zeile 133. 
     bei SolrTest.Program.IndexPDFFile(ISolrOperations`1 solr) in c:\Users\troth\Desktop\SolrTest\SolrTest\Program.cs:Zeile 35. 
     bei SolrTest.Program.Main(String[] args) in c:\Users\troth\Desktop\SolrTest\SolrTest\Program.cs:Zeile 21. 
     bei System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) 
     bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 
     bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
     bei System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
     bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
     bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
     bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
     bei System.Threading.ThreadHelper.ThreadStart() 
    InnerException: System.Net.WebException 
     HResult=-2146233079 
     Message=Der Remoteserver hat einen Fehler zurückgegeben: (500) Interner Serverfehler. 
     Source=System 
     StackTrace: 
      bei System.Net.HttpWebRequest.GetResponse() 
      bei HttpWebAdapters.Adapters.HttpWebRequestAdapter.GetResponse() in c:\Users\troth\Desktop\SolrNet-master\HttpWebAdapters\Impl\HttpWebRequestAdapter.cs:Zeile 36. 
      bei SolrNet.Impl.SolrConnection.GetResponse(IHttpWebRequest request) in c:\Users\troth\Desktop\SolrNet-master\SolrNet\Impl\SolrConnection.cs:Zeile 193. 
      bei SolrNet.Impl.SolrConnection.PostStream(String relativeUrl, String contentType, Stream content, IEnumerable`1 parameters) in c:\Users\troth\Desktop\SolrNet-master\SolrNet\Impl\SolrConnection.cs:Zeile 111. 
     InnerException: 

любые подсказки, что я могу сделать для решения этой проблемы?

спасибо, TRO

ответ

0

получил его! проблема была в файле solrconfig.xml. Я должен был вставить следующий код:

<lib dir="../../extract" regex=".*\.jar" /> 

    <requestHandler name="/update/extract" 
        startup="lazy" 
        class="solr.extraction.ExtractingRequestHandler" > 
    <lst name="defaults"> 
     <str name="lowernames">true</str> 
     <str name="uprefix">ignored_</str> 

     <!-- capture link hrefs but ignore div attributes --> 
     <str name="captureAttr">true</str> 
     <str name="fmap.a">links</str> 
     <str name="fmap.div">ignored_</str> 
    </lst> 
    </requestHandler> 

спасибо вам за помощь!

tro

2

При рассмотрении журнал ошибок, это выглядит главный вопрос здесь:

Вызванный: org.apache.solr.common.SolrException: Ошибка при загрузке класса ' solr.extraction.ExtractingRequestHandler '

Не кажется, что Solr может загрузить класс solr.extraction.ExtractingRequestHandler.

Вы выполнили шаги по ссылке, которую вы предоставили, чтобы добавить файлы Solr Cell и извлечения в библиотечную папку, из которой может быть загружена ваша установка Solr?