2017-08-22 12 views
1

Ich verwende Solr 6.4.1 Version und ich habe vor kurzem rund 1000 Dateien an die Solr für die Indizierung veröffentlicht. Ich verwendete Windows Powershell in Windows 10, um die Dateien mit dem Befehl zu buchen.Solr Indizierung wirft Fehler beim Posten der Datei

PS C: \ solr-6.4.1> java -Dc = Solr_sample -Dauto = yes -Ddata = Dateien -Drecursive = yes -jar Beispiel/exampledocs/post.jar E: \ Test \

Aber unter ihnen fand ich, dass eine Datei nicht indiziert ist und ich versuchte, diese bestimmte Datei wieder mit dem folgenden Befehl indizieren, aber kein Glück. Die Datei ist 212 MB groß. Ich habe den Fehler und alle unten angehängt. Könnten Sie mir bitte helfen, diese Datei zur Solr-Indizierung zu veröffentlichen?

PS C:\solr-6.4.1> java -Dc=Solr_sample -Dauto=yes -Ddata=files -Drecursive=yes -jar example/exampledocs/post.jar E:\Test\C0000000045\ 
SimplePostTool version 5.0.0 
Posting files to [base] url http://localhost:8983/solr/Solr_sample/update... 
Entering auto mode. File endings considered are xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log 
Entering recursive mode, max depth=999, delay=0s 
Indexing directory E:\Test\C0000000045 (1 files, depth=0) 
POSTing file 20162436739-Spheres Volume 3 Foams Plural Spherology. Peter Sloterdijk. MIT.pdf (application/pdf) to [base]/extract 
SimplePostTool: WARNING: Solr returned an error #500 (Server Error) for url: http://localhost:8983/solr/Solr_sample/update/extract?resource.name=E%3A%5CTest%5CC0000000045%5C20162436739-Spheres+Volume+3+Foams+Plural+Spherology.+Peter+Sloterdijk.+MIT.pdf&literal.id=E%3A%5C 
Test%5CC0000000045%5C20162436739-Spheres+Volume+3+Foams+Plural+Spherology.+Peter+Sloterdijk.+MIT.pdf 
SimplePostTool: WARNING: Response: <html> 
<head> 
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> 
<title>Error 500 Server Error</title> 
</head> 
<body><h2>HTTP ERROR 500</h2> 
<p>Problem accessing /solr/Solr_sample/update/extract. Reason: 
<pre> Server Error</pre></p><h3>Caused by:</h3><pre>java.lang.OutOfMemoryError: Java heap space 
     at java.io.PushbackInputStream.&lt;init&gt;(Unknown Source) 
     at org.apache.pdfbox.pdfparser.InputStreamSource.&lt;init&gt;(InputStreamSource.java:39) 
     at org.apache.pdfbox.pdfparser.PDFObjectStreamParser.&lt;init&gt;(PDFObjectStreamParser.java:55) 
     at org.apache.pdfbox.pdfparser.COSParser.parseObjectStream(COSParser.java:821) 
     at org.apache.pdfbox.pdfparser.COSParser.parseObjectDynamically(COSParser.java:727) 
     at org.apache.pdfbox.pdfparser.COSParser.parseObjectDynamically(COSParser.java:652) 
     at org.apache.pdfbox.pdfparser.COSParser.parseDictObjects(COSParser.java:612) 
     at org.apache.pdfbox.pdfparser.PDFParser.initialParse(PDFParser.java:215) 
     at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:249) 
     at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:972) 
     at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:908) 
     at org.apache.tika.parser.pdf.PDFParser.parse(PDFParser.java:131) 
     at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280) 
     at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280) 
     at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:120) 
     at org.apache.solr.handler.extraction.ExtractingDocumentLoader.load(ExtractingDocumentLoader.java:228) 
     at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:68) 
     at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:166) 
     at org.apache.solr.core.SolrCore.execute(SolrCore.java:2306) 
     at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:658) 
     at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:464) 
     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:345) 
     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:296) 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1691) 
     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582) 
     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) 
     at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) 
     at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) 
     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) 
     at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) 
     at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) 
     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) 
</pre> 

</body> 
</html> 
SimplePostTool: WARNING: IOException while reading response: java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:8983/solr/Solr_sample/update/extract?resource.name=E%3A%5CTest%5CC0000000045%5C20162436739-Spheres+Volume+3+Foams+Plural+Sp 
herology.+Peter+Sloterdijk.+MIT.pdf&literal.id=E%3A%5CTest%5CC0000000045%5C20162436739-Spheres+Volume+3+Foams+Plural+Spherology.+Peter+Sloterdijk.+MIT.pdf 
1 files indexed. 
COMMITting Solr index changes to http://localhost:8983/solr/Solr_sample/update... 
Time spent: 0:00:13.795 

Antwort

0

Von anderen Antworten habe ich erfahren, dass der Fehler wegen Speicher war, aber der folgende Befehl löste mein Problem.

PS C: \ solr-6.4.1> bin \ solr starten -m 4g

I die Solr Speicher auf 4 GB erhöht die mein Problem gelöst.

Alternativ könnten wir auch eine Aufgabe auf Windows-Taskplaner erstellen Solr mit den folgenden Argumenten auszuführen:

enter image description here

1

Die JVM läuft aus dem RAM, da Sie die Heap-Größe nicht explizit festlegen, verwendet die JVM einen Standardwert. Das Extrahieren von Text aus einer PDF-Datei kann eine Menge RAM erfordern, so dass Sie versuchen können, Solr so viel wie möglich zu geben (beachten Sie in diesem speziellen Fall nicht die allgemeine Verwendung von Solr), also starten Sie solr mit mehr ram. Das hängt davon ab, wie Sie es jetzt beginnen, wenn Sie die in Service gebaut verwenden, bearbeiten solr.in.sh adn uncomment/ändern Sie diese Zeile

#SOLR_JAVA_MEM="-Xmx8g-Xmx8g" 

, wenn Sie zum Beispiel haben 8gb frei zu verwenden (Anpassung an Ihr Fall)

+0

ich den Befehl PS C verwendet: \ solr-6.4.1> java -Xmx8g - Dc = Solr_sample -Dauto = yes -Ddata = Dateien -Drecursive = yes -jar Beispiel/exampledocs/post.jar E: \ Test \ C0000000045 \ aber es gibt immer noch denselben Fehler. – Simant

+0

wieviel RAM hast du frei? Gib es so viel wie du kannst. Aber Sie können einen Fehler bei der Extraktion von PDF-Text nicht ausschließen, Sie könnten den Text nie daraus extrahieren (oder Sie könnten ihn mit anderen Mitteln erstellen, dann erstellen Sie ein Dokument in solr mit diesem Text manuell/Skript, wenn es so wichtig ist) – Persimmonium

+0

Fehlermeldung wird auf dem Server generiert, wodurch das Indizierungstool mehr Speicher nicht hilft. Sie können die Größe des zugewiesenen Speichers in/für das von Ihnen verwendete Solr-Startskript ändern. – MatsLindh