ТИКА - Архитектура
Архитектура Tika на уровне приложений
Программисты приложений могут легко интегрировать Tika в свои приложения. Tika предоставляет интерфейс командной строки и графический интерфейс, чтобы сделать его удобным для пользователя.
В этой главе мы обсудим четыре важных модуля, составляющих архитектуру Tika. На следующем рисунке показана архитектура Tika вместе с ее четырьмя модулями:
- Механизм определения языка.
- Механизм обнаружения MIME.
- Интерфейс парсера.
- Класс Тика Фасад.
Механизм определения языка
Всякий раз, когда текстовый документ передается в Tika, он определяет язык, на котором он был написан. Он принимает документы без аннотации языка и добавляет эту информацию в метаданные документа, определяя язык.
Для поддержки языковой идентификации в Tika есть класс под названием Language Identifier в пакете org.apache.tika.language, и репозиторий идентификации языка внутри, который содержит алгоритмы определения языка из заданного текста. Tika внутренне использует алгоритм N-грамм для определения языка.
Механизм обнаружения MIME
Tika может определять тип документа в соответствии со стандартами MIME. Определение типа MIME по умолчанию в Tika выполняется с помощью org.apache.tika.mime.mimeTypes . Он использует интерфейс org.apache.tika.detect.Detector для большей части определения типа контента.
Внутри Tika используется несколько методов, таких как подстановка файлов, подсказки по типу содержимого, магические байты, кодировки символов и ряд других методов.
Интерфейс парсера
Интерфейс парсера org.apache.tika.parser - это ключевой интерфейс для анализа документов в Tika. Этот интерфейс извлекает текст и метаданные из документа и обобщает их для внешних пользователей, желающих писать плагины парсера.
Используя различные конкретные классы парсеров, специфичные для отдельных типов документов, Tika поддерживает множество форматов документов. Эти классы, зависящие от формата, обеспечивают поддержку различных форматов документов, либо напрямую реализуя логику парсера, либо используя внешние библиотеки парсера.
Класс Тика Фасад
Использование класса фасада Tika - это самый простой и прямой способ вызова Tika из Java, и он следует шаблону проектирования фасада. Вы можете найти класс фасада Tika в пакете org.apache.tika Tika API.
Реализуя базовые варианты использования, Tika выступает в роли посредника ландшафта. Он абстрагирует базовую сложность библиотеки Tika, такую как механизм обнаружения MIME, интерфейс парсера и механизм определения языка, и предоставляет пользователям простой интерфейс для использования.
Особенности Тика
Unified parser Interface- Tika инкапсулирует все сторонние библиотеки парсеров в одном интерфейсе парсера. Благодаря этой функции пользователь избавляется от бремени выбора подходящей библиотеки синтаксического анализатора и использует ее в соответствии с обнаруженным типом файла.
Low memory usage- Tika потребляет меньше ресурсов памяти, поэтому легко встраивается в приложения Java. Мы также можем использовать Tika в приложении, которое работает на платформах с меньшими ресурсами, таких как мобильный КПК.
Fast processing - Можно ожидать быстрого обнаружения и извлечения контента из приложений.
Flexible metadata - Tika понимает все модели метаданных, которые используются для описания файлов.
Parser integration - Tika может использовать различные библиотеки парсеров, доступные для каждого типа документа, в одном приложении.
MIME type detection - Tika может обнаруживать и извлекать контент из всех типов носителей, включенных в стандарты MIME.
Language detection - Tika включает в себя функцию идентификации языка, поэтому может использоваться в документах на основе типа языка на многоязычных веб-сайтах.
Функциональные возможности Tika
Tika поддерживает различные функции -
- Определение типа документа
- Извлечение контента
- Извлечение метаданных
- Определение языка
Определение типа документа
Tika использует различные методы обнаружения и определяет тип выданного документа.
Извлечение контента
У Tika есть библиотека парсеров, которая может анализировать содержимое различных форматов документов и извлекать их. После определения типа документа он выбирает соответствующий парсер из репозитория парсеров и передает документ. В разных классах Tika есть методы для анализа документов разных форматов.
Извлечение метаданных
Наряду с содержимым Tika извлекает метаданные документа с той же процедурой, что и при извлечении содержимого. Для некоторых типов документов у Tika есть классы для извлечения метаданных.
Определение языка
Внутри Tika следует таким алгоритмам, как n-gramдля определения языка содержания в данном документе. Тика зависит от таких классов, какLanguageidentifier и Profiler для языковой идентификации.