TIKA - Arquitetura
Arquitetura de nível de aplicativo de Tika
Os programadores de aplicativos podem integrar facilmente o Tika em seus aplicativos. Tika fornece uma interface de linha de comando e uma GUI para torná-la amigável.
Neste capítulo, discutiremos os quatro módulos importantes que constituem a arquitetura Tika. A ilustração a seguir mostra a arquitetura do Tika junto com seus quatro módulos -
- Mecanismo de detecção de idioma.
- Mecanismo de detecção de MIME.
- Interface do analisador.
- Aula Tika Facade.
Mecanismo de detecção de linguagem
Sempre que um documento de texto é passado para o Tika, ele detecta o idioma no qual foi escrito. Ele aceita documentos sem anotação de idioma e adiciona essa informação nos metadados do documento, detectando o idioma.
Para apoiar a identificação de idioma, Tika tem uma classe chamada Language Identifier Na embalagem org.apache.tika.languagee um repositório de identificação de idioma dentro do qual contém algoritmos para detecção de idioma a partir de um determinado texto. Tika usa internamente o algoritmo N-gram para detecção de idioma.
Mecanismo de detecção de MIME
Tika pode detectar o tipo de documento de acordo com os padrões MIME. A detecção do tipo MIME padrão no Tika é feita usando org.apache.tika.mime.mimeTypes . Ele usa a interface org.apache.tika.detect.Detector para a maior parte da detecção do tipo de conteúdo.
Internamente, Tika usa várias técnicas, como globs de arquivo, dicas de tipo de conteúdo, bytes mágicos, codificação de caracteres e várias outras técnicas.
Interface do analisador
A interface do analisador de org.apache.tika.parser é a interface chave para analisar documentos no Tika. Essa interface extrai o texto e os metadados de um documento e os resume para usuários externos que desejam escrever plug-ins do analisador.
Usando diferentes classes de analisadores concretos, específicas para tipos de documentos individuais, Tika suporta muitos formatos de documentos. Essas classes específicas de formato fornecem suporte para diferentes formatos de documentos, implementando diretamente a lógica do analisador ou usando bibliotecas de analisador externas.
Tika Facade Class
Usar a classe de fachada Tika é a maneira mais simples e direta de chamar Tika de Java e segue o padrão de design de fachada. Você pode encontrar a classe de fachada Tika no pacote org.apache.tika da API Tika.
Implementando casos de uso básicos, Tika atua como um corretor de paisagem. Ele abstrai a complexidade subjacente da biblioteca Tika, como mecanismo de detecção MIME, interface do analisador e mecanismo de detecção de idioma, e fornece aos usuários uma interface simples de usar.
Características de Tika
Unified parser Interface- Tika encapsula todas as bibliotecas de analisador de terceiros em uma única interface de analisador. Devido a esse recurso, o usuário escapa do fardo de selecionar a biblioteca de analisador adequada e usá-la de acordo com o tipo de arquivo encontrado.
Low memory usage- Tika consome menos recursos de memória, portanto, é facilmente incorporável a aplicativos Java. Também podemos usar o Tika dentro do aplicativo que roda em plataformas com menos recursos, como PDA móvel.
Fast processing - Pode-se esperar uma rápida detecção e extração de conteúdo de aplicativos.
Flexible metadata - Tika entende todos os modelos de metadados que são usados para descrever arquivos.
Parser integration - Tika pode usar várias bibliotecas de analisador disponíveis para cada tipo de documento em um único aplicativo.
MIME type detection - Tika pode detectar e extrair conteúdo de todos os tipos de mídia incluídos nos padrões MIME.
Language detection - Tika inclui recurso de identificação de idioma, portanto, pode ser usado em documentos baseados no tipo de idioma em sites multilíngues.
Funcionalidades de Tika
Tika oferece suporte a várias funcionalidades -
- Detecção de tipo de documento
- Extração de conteúdo
- Extração de metadados
- Detecção de idioma
Detecção de Tipo de Documento
Tika usa várias técnicas de detecção e detecta o tipo de documento fornecido a ela.
Extração de Conteúdo
Tika tem uma biblioteca de análise que pode analisar o conteúdo de vários formatos de documentos e extraí-los. Depois de detectar o tipo do documento, ele seleciona o analisador apropriado no repositório do analisador e passa o documento. Diferentes classes de Tika possuem métodos para analisar diferentes formatos de documentos.
Extração de Metadados
Junto com o conteúdo, Tika extrai os metadados do documento com o mesmo procedimento da extração de conteúdo. Para alguns tipos de documentos, Tika tem classes para extrair metadados.
Detecção de idioma
Internamente, Tika segue algoritmos como n-grampara detectar o idioma do conteúdo em um determinado documento. Tika depende de aulas comoLanguageidentifier e Profiler para identificação de idioma.