TIKA - Arquitectura
Arquitectura de nivel de aplicación de Tika
Los programadores de aplicaciones pueden integrar fácilmente Tika en sus aplicaciones. Tika proporciona una interfaz de línea de comandos y una GUI para que sea fácil de usar.
En este capítulo, discutiremos los cuatro módulos importantes que constituyen la arquitectura Tika. La siguiente ilustración muestra la arquitectura de Tika junto con sus cuatro módulos:
- Mecanismo de detección de idioma.
- Mecanismo de detección MIME.
- Interfaz del analizador.
- Clase Tika Facade.
Mecanismo de detección del idioma
Siempre que se pase un documento de texto a Tika, detectará el idioma en el que fue escrito. Acepta documentos sin anotación de idioma y agrega esa información en los metadatos del documento detectando el idioma.
Para apoyar la identificación del idioma, Tika tiene una clase llamada Language Identifier en el paquete org.apache.tika.languagey un repositorio de identificación de idiomas en el interior que contiene algoritmos para la detección de idiomas a partir de un texto determinado. Tika utiliza internamente el algoritmo N-gram para la detección de idiomas.
Mecanismo de detección MIME
Tika puede detectar el tipo de documento de acuerdo con los estándares MIME. La detección de tipo MIME predeterminado en Tika se realiza mediante org.apache.tika.mime.mimeTypes . Utiliza la interfaz org.apache.tika.detect.Detector para la mayor parte de la detección de tipos de contenido.
Internamente, Tika usa varias técnicas como archivos globales, sugerencias de tipo de contenido, bytes mágicos, codificaciones de caracteres y varias otras técnicas.
Interfaz del analizador
La interfaz del analizador de org.apache.tika.parser es la interfaz clave para analizar documentos en Tika. Esta interfaz extrae el texto y los metadatos de un documento y lo resume para usuarios externos que estén dispuestos a escribir complementos de analizador.
Usando diferentes clases de analizadores concretos, específicos para tipos de documentos individuales, Tika admite muchos formatos de documentos. Estas clases específicas de formato brindan soporte para diferentes formatos de documentos, ya sea implementando directamente la lógica del analizador o mediante el uso de bibliotecas de analizador externas.
Clase de fachada Tika
El uso de la clase de fachada Tika es la forma más sencilla y directa de llamar a Tika desde Java, y sigue el patrón de diseño de fachada. Puede encontrar la clase de fachada Tika en el paquete org.apache.tika de la API de Tika.
Al implementar casos de uso básicos, Tika actúa como un intermediario del paisaje. Abstrae la complejidad subyacente de la biblioteca Tika, como el mecanismo de detección MIME, la interfaz del analizador y el mecanismo de detección del idioma, y proporciona a los usuarios una interfaz simple de usar.
Características de Tika
Unified parser Interface- Tika encapsula todas las bibliotecas de analizadores de terceros dentro de una única interfaz de analizador. Debido a esta característica, el usuario escapa de la carga de seleccionar la biblioteca del analizador adecuada y utilizarla de acuerdo con el tipo de archivo encontrado.
Low memory usage- Tika consume menos recursos de memoria, por lo que se puede integrar fácilmente con aplicaciones Java. También podemos usar Tika dentro de la aplicación que se ejecuta en plataformas con menos recursos como PDA móvil.
Fast processing - Se puede esperar una rápida detección y extracción de contenido de las aplicaciones.
Flexible metadata - Tika comprende todos los modelos de metadatos que se utilizan para describir archivos.
Parser integration - Tika puede usar varias bibliotecas de analizadores disponibles para cada tipo de documento en una sola aplicación.
MIME type detection - Tika puede detectar y extraer contenido de todos los tipos de medios incluidos en los estándares MIME.
Language detection - Tika incluye una función de identificación de idioma, por lo que se puede utilizar en documentos basados en el tipo de idioma en sitios web multilingües.
Funcionalidades de Tika
Tika admite varias funcionalidades:
- Detección de tipo de documento
- Extracción de contenido
- Extracción de metadatos
- Detección de idioma
Detección de tipo de documento
Tika utiliza varias técnicas de detección y detecta el tipo de documento que se le entrega.
Extracción de contenido
Tika tiene una biblioteca de analizador que puede analizar el contenido de varios formatos de documentos y extraerlos. Después de detectar el tipo de documento, selecciona el analizador apropiado del repositorio de analizadores y pasa el documento. Las diferentes clases de Tika tienen métodos para analizar diferentes formatos de documentos.
Extracción de metadatos
Junto con el contenido, Tika extrae los metadatos del documento con el mismo procedimiento que en la extracción de contenido. Para algunos tipos de documentos, Tika tiene clases para extraer metadatos.
Detección de idioma
Internamente, Tika sigue algoritmos como n-grampara detectar el idioma del contenido de un documento determinado. Tika depende de clases comoLanguageidentifier y Profiler para la identificación del idioma.