TIKA - Architecture

Architecture au niveau de l'application de Tika

Les programmeurs d'applications peuvent facilement intégrer Tika dans leurs applications. Tika fournit une interface de ligne de commande et une interface graphique pour le rendre convivial.

Dans ce chapitre, nous aborderons les quatre modules importants qui constituent l'architecture Tika. L'illustration suivante montre l'architecture de Tika avec ses quatre modules -

  • Mécanisme de détection de la langue.
  • Mécanisme de détection MIME.
  • Interface analyseur.
  • Classe de façade Tika.

Mécanisme de détection de la langue

Chaque fois qu'un document texte est transmis à Tika, il détecte la langue dans laquelle il a été écrit. Il accepte les documents sans annotation de langue et ajoute ces informations dans les métadonnées du document en détectant la langue.

Pour prendre en charge l'identification de la langue, Tika a une classe appelée Language Identifier dans le paquet org.apache.tika.language, et un référentiel d'identification de langue à l'intérieur qui contient des algorithmes pour la détection de langue à partir d'un texte donné. Tika utilise en interne l'algorithme N-gram pour la détection de la langue.

Mécanisme de détection MIME

Tika peut détecter le type de document selon les normes MIME. La détection du type MIME par défaut dans Tika est effectuée à l'aide de org.apache.tika.mime.mimeTypes . Il utilise l' interface org.apache.tika.detect.Detector pour la plupart des détections de type de contenu.

En interne, Tika utilise plusieurs techniques telles que les globes de fichiers, les indices de type de contenu, les octets magiques, les encodages de caractères et plusieurs autres techniques.

Interface d'analyseur

L'interface d'analyseur de org.apache.tika.parser est l'interface clé pour l'analyse des documents dans Tika. Cette interface extrait le texte et les métadonnées d'un document et les résume pour les utilisateurs externes souhaitant écrire des plugins d'analyseurs.

En utilisant différentes classes d'analyseurs concrètes, spécifiques aux types de documents individuels, Tika prend en charge de nombreux formats de documents. Ces classes spécifiques au format prennent en charge différents formats de documents, soit en implémentant directement la logique de l'analyseur, soit en utilisant des bibliothèques d'analyseurs externes.

Classe de façade Tika

L'utilisation de la classe de façade Tika est la manière la plus simple et directe d'appeler Tika depuis Java, et elle suit le modèle de conception de façade. Vous pouvez trouver la classe de façade Tika dans le package org.apache.tika de l'API Tika.

En mettant en œuvre des cas d'utilisation de base, Tika agit comme un courtier de paysage. Il résume la complexité sous-jacente de la bibliothèque Tika telle que le mécanisme de détection MIME, l'interface parseur et le mécanisme de détection de la langue, et fournit aux utilisateurs une interface simple à utiliser.

Caractéristiques de Tika

  • Unified parser Interface- Tika encapsule toutes les bibliothèques d'analyseurs tiers dans une seule interface d'analyseur. Grâce à cette fonctionnalité, l'utilisateur échappe au fardeau de sélectionner la bibliothèque d'analyseur appropriée et de l'utiliser en fonction du type de fichier rencontré.

  • Low memory usage- Tika consomme moins de ressources mémoire, il est donc facilement intégrable avec les applications Java. Nous pouvons également utiliser Tika dans l'application qui fonctionne sur des plates-formes avec moins de ressources comme les PDA mobiles.

  • Fast processing - Une détection et une extraction rapides du contenu des applications peuvent être attendues.

  • Flexible metadata - Tika comprend tous les modèles de métadonnées qui sont utilisés pour décrire les fichiers.

  • Parser integration - Tika peut utiliser différentes bibliothèques d'analyseurs disponibles pour chaque type de document dans une seule application.

  • MIME type detection - Tika peut détecter et extraire le contenu de tous les types de médias inclus dans les normes MIME.

  • Language detection - Tika comprend une fonction d'identification de la langue, peut donc être utilisé dans des documents basés sur le type de langue dans un site Web multilingue.

Fonctionnalités de Tika

Tika prend en charge diverses fonctionnalités -

  • Détection du type de document
  • Extraction de contenu
  • Extraction de métadonnées
  • Détection de la langue

Détection du type de document

Tika utilise diverses techniques de détection et détecte le type de document qui lui est donné.

Extraction de contenu

Tika a une bibliothèque d'analyseurs qui peut analyser le contenu de divers formats de documents et les extraire. Après avoir détecté le type du document, il sélectionne l'analyseur approprié dans le référentiel de l'analyseur et transmet le document. Différentes classes de Tika ont des méthodes pour analyser différents formats de documents.

Extraction de métadonnées

En plus du contenu, Tika extrait les métadonnées du document avec la même procédure que dans l'extraction de contenu. Pour certains types de documents, Tika a des classes pour extraire les métadonnées.

Détection de la langue

En interne, Tika suit des algorithmes comme n-grampour détecter la langue du contenu d'un document donné. Tika dépend de classes commeLanguageidentifier et Profiler pour l'identification de la langue.