TIKA 架構



Tika 的應用級架構

應用程式程式設計師可以輕鬆地將其應用程式整合到 Tika 中。Tika 提供命令列介面和圖形使用者介面,使其更易於使用。

本章將討論構成 Tika 架構的四個重要模組。下圖顯示了 Tika 的架構及其四個模組:

  • 語言檢測機制。
  • MIME 檢測機制。
  • 解析器介面。
  • Tika Facade 類。
Tika Architecture

語言檢測機制

每當將文字文件傳遞給 Tika 時,它都會檢測文件的書寫語言。它接受沒有語言註釋的文件,並透過檢測語言在文件的元資料中新增該資訊。

為了支援語言識別,Tika 在包 **org.apache.tika.language** 中有一個名為 **Language Identifier** 的類,以及一個內部包含用於從給定文字檢測語言的演算法的語言識別庫。Tika 內部使用 N-gram 演算法進行語言檢測。

MIME 檢測機制

Tika 可以根據 MIME 標準檢測文件型別。Tika 中的預設 MIME 型別檢測是使用 org.apache.tika.mime.mimeTypes 完成的。它對大多數內容型別檢測使用 org.apache.tika.detect.Detector 介面。

Tika 內部使用多種技術,例如檔案萬用字元、內容型別提示、魔數字節、字元編碼以及其他多種技術。

解析器介面

org.apache.tika.parser 的解析器介面是 Tika 中解析文件的關鍵介面。此介面從文件中提取文字和元資料,並將其總結給想要編寫解析器外掛的外部使用者。

使用針對單個文件型別而不同的具體解析器類,Tika 支援許多文件格式。這些特定於格式的類透過直接實現解析器邏輯或使用外部解析器庫來提供對不同文件格式的支援。

Tika Facade 類

使用 Tika facade 類是從 Java 呼叫 Tika 的最簡單直接的方法,它遵循外觀設計模式。您可以在 Tika API 的 org.apache.tika 包中找到 Tika facade 類。

透過實現基本用例,Tika 充當景觀的代理。它抽象了 Tika 庫的底層複雜性,例如 MIME 檢測機制、解析器介面和語言檢測機制,併為使用者提供了一個簡單的介面。

Tika 的特性

  • **統一的解析器介面** - Tika 將所有第三方解析器庫封裝在一個單一的解析器介面中。由於此特性,使用者無需承擔選擇合適的解析器庫並根據遇到的檔案型別使用它的負擔。

  • **低記憶體使用** - Tika 消耗的記憶體資源較少,因此易於與 Java 應用程式嵌入。我們還可以在執行在資源較少平臺(如移動 PDA)上的應用程式中使用 Tika。

  • **快速處理** - 可以預期從應用程式快速檢測和提取內容。

  • **靈活的元資料** - Tika 理解用於描述檔案的各種元資料模型。

  • **解析器整合** - Tika 可以在單個應用程式中使用各種針對每種文件型別的解析器庫。

  • **MIME 型別檢測** - Tika 可以檢測並提取 MIME 標準中包含的所有媒體型別的內容。

  • **語言檢測** - Tika 包含語言識別功能,因此可以用於多語言網站中基於語言型別的文件。

Tika 的功能

Tika 支援各種功能:

  • 文件型別檢測
  • 內容提取
  • 元資料提取
  • 語言檢測

文件型別檢測

Tika 使用各種檢測技術來檢測給定文件的型別。

Detection

內容提取

Tika 有一個解析器庫,可以解析各種文件格式的內容並提取它們。檢測到文件型別後,它會從解析器庫中選擇合適的解析器並傳遞文件。Tika 的不同類具有解析不同文件格式的方法。

Extraction

元資料提取

除了內容之外,Tika 還使用與內容提取相同的過程提取文件的元資料。對於某些文件型別,Tika 有類可以提取元資料。

Extraction1

語言檢測

在內部,Tika 使用 **n-gram** 等演算法來檢測給定文件中內容的語言。Tika 依賴於 **Languageidentifier** 和 **Profiler** 等類進行語言識別。

Detection1
廣告
© . All rights reserved.