TIKA架構


Tika應用層架構

應用程式員可以很容易地在他們的應用程式整合Tika。Tika提供了一個命令列介面和圖形化使用者介面,使它比較人性化。

在本章中,我們將討論構成Tika架構的四個重要模組。下圖顯示了Tika的四個模組的體系結構:

  • 語言檢測機制。
  • MIME檢測機制。
  • Parser介面。
  • Tika Facade 類.
Tika Architecture

語言檢測機制

每當一個文字檔案被傳遞到Tika,它將檢測在其中的語言。它接受沒有語言的注釋檔案和通過檢測該語言新增在該檔案的後設資料資訊。

支援語言識別,Tika 有一類叫做語言識別符號在包org.apache.tika.language及語言識別資料庫裡面包含了語言檢測從給定文字的演算法。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作為facade的代理。它抽象了的Tika庫的底層複雜性,例如MIME檢測機制,解析器介面和語言檢測機制,並提供給使用者一個簡單的介面來使用。

Tika的特點

  • 統一解析器介面:Tika封裝在一個單一的解析器介面的第三方解析器庫。由於這個特徵,使用者逸出從選擇合適的解析器庫的負擔,並使用它,根據所遇到的檔案型別。

  • 低記憶體占用:Tika因此消耗更少的記憶體資源也很容易嵌入Java應用程式。也可以用Tika平台像移動那樣PDA資源少,執行該應用程式。

  • 快速處理:從應用連結內容檢測和提取可以預期的。

  • 靈活後設資料:Tika理解所有這些都用來描述檔案的後設資料模型。

  • 解析器整合:Tika可以使用可在單一應用程式中每個檔案型別的各種解析器庫。

  • MIME型別檢測: Tika可以檢測並從所有包括在MIME標準的媒體型別中提取內容。

  • 語言檢測: Tika包括語言識別功能,因此可以在一個多語種網站基於語言型別的文件中使用。

Tika的功能

Tika支援多種功能:

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

檔案型別檢測

Tika使用不同的檢測技術,檢測給它的檔案的型別。

Detection

內容提取

Tika有一個解析器庫,可以分析各種文件格式的內容,並提取它們。然後檢測所述文件的型別,它從解析器庫選擇的適當的分析器,並傳遞該文件。不同類別的Tika方法來解析不同的檔案格式。

Extraction

後設資料提取

隨著內容,Tika提取具有相同的程式的檔案的後設資料中的內容的提取。對於某些檔案型別,Tika有介面類提取後設資料。

Extraction1

語言檢測

在內部,Tika如下像一個n-gram演算法來檢測所述內容的語言的給定文件中。Tika取決於類,如語言識別和Profiler的語言識別。

Detection1