Ich hätte gerne eine einfache Einrichtung von solr, wo ich große Ordner von pdf/docx-Dateien indizieren und durchsuchen kann. Ich brauche meistens nur eine Volltextsuche, keine Notwendigkeit, Felder zu trennen, und die Originaldokumente scheinen sowieso keine gut definierte Struktur zu haben. Ich folge https://lucene.apache.org/solr/quickstart.html, die aber einfach ist, wenn ich meine eigenen Ordner-Index mit einigen PDF-Dateien versuchen, einige Dateien zurückgeben Fehler wie:Solr pdf index schlechte Anfrage
POSTing file G1504225.pdf (application/pdf) to [base]/extract
SimplePostTool: WARNING: Solr returned an error #400 (Bad Request) for
url: http://localhost:8983/solr/gettingstarted/update/extract?
resource.name=%2Fhome%2Fsolr%2Fsolr-6.5.1%2F..%2Ftrain_data%2FG1504225.pdf&literal.id=%2Fhome%2Fsolr%2Fsolr-6.5.1%2F..%2Ftrain_data%2FG1504225.pdf
SimplePostTool: WARNING: Response: <?xml version="1.0" encoding="UTF-8"?>
<response>
<lst name="responseHeader"><int name="status">400</int><int
name="QTime">263</int></lst><lst name="error"><lst name="metadata"><str
name="error-class">org.apache.solr.common.SolrException</str><str
name="root-error-class">java.lang.NumberFormatException</str><str
name="error-class">org.apache.solr.update.processor.DistributedUpdateProcessor$DistributedUpdatesAsyncException</str><str name="root-error-class">org.apache.solr.update.processor.DistributedUpdateProcessor$DistributedUpdatesAsyncException</str></lst><str name="msg">Async exception during distributed update: Error from server at http://127.0.1.1:8983/solr/gettingstarted_shard2_replica1: Bad Request
request:
http://127.0.1.1:8983/solr/gettingstarted_shard2_replica1/update?update.chain=add-unknown-fields-to-the-schema&update.distrib=TOLEADER&distrib.from=http%3A%2F%2F127.0.1.1%3A8983%2Fsolr%2Fgettingstarted_shard1_replica1%2F&wt=javabin&version=2
Remote error message: ERROR: [doc=/home/solr/solr-6.5.1/../train_data/G1504225.pdf] Error adding field 'title'='United Nations' msg=For input string: "United Nations"</str><int name="code">400</int></lst>
</response>
SimplePostTool: WARNING: IOException while reading response:
java.io.IOException: Server returned HTTP response code: 400 for URL:
http://localhost:8983/solr/gettingstarted/update/extract?
resource.name=%2Fhome%2Fsolr%2Fsolr-6.5.1%2F..%2Ftrain_data%2FG1504225.pdf&literal.id=%2Fhome%2Fsolr%2Fsolr-6.5.1%2F..%2Ftrain_data%2FG1504225.pdf
Die meisten Dateien sind in Ordnung und ich kann sie suchen. Irgendwelche Ideen?
Danke. Die pdf, die scheitert, ist wirklich sehr einfach und der ganze relevante Text wird leicht mit pdf2txt extrahiert. Auch die Fehlermeldung beklagt sich nicht über das Extrahieren von Daten aus pdf, sondern über das Einfügen in solr, aber ich kann hier natürlich etwas vermissen. Wie auch immer, das Konvertieren aller pdf-s in txt mit pdf2txt und dann das Indizieren scheint zu funktionieren und das ist mein schneller Hack für den Moment. – kakk11