/ / Wie kann ich große Dateien mit TIka lesen? - Apache-Tika

Wie kann ich große Dateien mit TIka lesen? - Apache-Tika

Ich parse große PDF - und Word - Dokumente mit Tika, erhalte jedoch die folgende Fehlermeldung.

Your document contained more than 100000 characters, and so your requested limit has been reached. To receive the full text of the document, increase your limit. (Text up to the limit is however available).

Wie kann ich das Limit erhöhen?

Antworten:

16 für die Antwort № 1

Angenommen, Sie folgen im Wesentlichen dem Tika-Beispiel zum Extrahieren von TextDann brauchst du nur noch Erstellen Sie Ihren BodyContentHandler mit einem Schreiblimit von -1 um das Schreiblimit zu deaktivieren, wie in der Javadocs

Ihr Code würde dann ungefähr so ​​aussehen (inspiriert durch das beispiel):

BodyContentHandler handler = new BodyContentHandler(-1);

InputStream stream = ContentHandlerExample.class.getResourceAsStream("test.doc");
AutoDetectParser parser = new AutoDetectParser();
Metadata metadata = new Metadata();
try {
parser.parse(stream, handler, metadata);
return handler.toString();
} finally {
stream.close();
}

1 für die Antwort № 2

Ich bin nicht einverstanden mit @Gagravarr mit der Schreibbeschränkung von -1, da die Standardeinstellung, die in -1-Fällen ausgewählt wird, genau 100000 ist.

Wenn ich mich nicht irre, heißt es in der Dokumentation von Tika BodyContentHandler> WriteOutContentHandler:

Der interne Zeichenfolgenpuffer ist auf 100.000 Zeichen begrenzt.

Am besten erreichen Sie dies, indem Sie ein Objekt von StringWriter anstelle von -1 als Argument übergeben.

StringWriter any = new StringWriter();

und dann

BodyContentHandler handler = new BodyContentHandler(any);