Tika 简明教程
TIKA - Architecture
Application-Level Architecture of Tika
应用程序员可以轻松地在应用程序中集成 Tika。Tika 提供命令行界面和图形用户界面,以便于用户使用。
在本章中,我们将讨论构成 Tika 架构的四个重要模块。下图展示了 Tika 架构及其四个模块:
-
Language detection mechanism.
-
MIME detection mechanism.
-
Parser interface.
-
Tika Facade class.
Language Detection Mechanism
每当文本文档传递给 Tika 时,它将检测其书面语言。它接受没有语言注释的文档,并在检测语言后在文档的元数据中添加该信息。
为了支持语言识别,Tika 在包 org.apache.tika.language 中有一个名为 Language Identifier 的类,以及其中包含用于从给定文本中检测语言的算法的语言识别存储库。Tika 在内部使用 N-gram 算法进行语言检测。
MIME Detection Mechanism
Tika 可以根据 MIME 标准检测文档类型。Tika 中的默认 MIME 类型检测使用 org.apache.tika.mime.mimeTypes 来完成。它对大多数内容类型检测使用 org.apache.tika.detect.Detector 接口。
在内部,Tika 使用了多种技术,如文件全局、内容类型提示、魔术字节、字符编码和其他多种技术。
Features of Tika
-
Unified parser Interface − Tika 将所有第三方解析器库封装在一个解析器接口中。由于这个特性,用户无需再承受选择合适的解析器库并按照遇到的文件类型进行使用的负担。
-
Low memory usage − Tika 消耗的内存资源较少,因此很容易嵌入到 Java 应用程序中。我们还可以在资源较少的平台(如移动 PDA)上运行的应用程序中使用 Tika。
-
Fast processing − 可以预期从应用程序快速检测和提取内容。
-
Flexible metadata − Tika 理解所有用于描述文件元数据的模型。
-
Parser integration − Tika 可以在一个应用程序中使用为每种文档类型提供的各种解析器库。
-
MIME type detection − Tika 可以检测和提取 MIME 标准中包含的所有媒体类型的内容。
-
Language detection − Tika 包含语言识别特性,因此可以在多语言网站中基于语言类型用于文档。