TIKA Parsing de document avec plus de 100000 caractères

[version 5.1.35]

Bonjour,

Je récupère un fichier à l’aide d’un attribut de type “Document”, puis je le parse pour avoir son contenu textuel :

DocumentDB monDocument = DocumentDB.getDocument(this.getField("champDocument").getValue(),this.getGrant());
String monContenu = DocumentParser.parse(monDocument);

Pour l’un de mes fichier, j’ai un message indiquant que l’outil de parsage à une limite paramétrée à 100000 caractères max par fichiers :

Error during TIKA parsing
WriteLimitReachedException: 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).

Existe-t-il une méthode pour lire un document de plus de 100000 caractères ?

La classe helper DocumentParser ne permet pas actuellement de specifier une write limit explicite.

Nous allons voir pour ajouter cette possibilité (et/ou une autre approche à base d’output streams) dans une prochaine révision.

Je passe cette demande en feature request.

Si ça ne peut pas attendre, vous pouvez toujours directement utiliser les APIs Tika utilisées par cette classe helper (en Simplicité 5.1 on parle de Tika 1.23) => Apache Tika – Tika API Usage Examples. Attention, si votre document est vraiment énorme veillez à préserver la mémoire.

Afin d’utiliser l’Api Tika, comment peut-on transformer un DocumentDB en InputStream ?

https://docs.simplicite.io/5/javadoc/com/simplicite/util/DocumentDB.html#getInputStream()

1 Like