Tika 1.16架构及核心模块
一、什么是Tika?
-
Apache Tika用于文件類型檢測和從各種格式的文件內容提取的庫。
-
在內部,Tika使用現有的各種文件解析器和文檔類型的檢測技術來檢測和提取數據。
-
使用Tika,人們可以開發出通用型檢測器和內容提取到的不同類型的文件,如電子表格,文本文件,圖像,PDF文件甚至多媒體輸入格式,在一定程度上提取結構化文本以及元數據。
-
Tika提供用于解析不同文件格式的一個通用API。它采用83個現有的專業解析器庫,為每個文檔類型。
-
所有這些解析器庫是根據一個叫做Parser接口單一接口封裝。
二、架構
三、核心模塊
每當一個文本文件被傳遞到Tika,它將檢測在其中的語言。它接受沒有語言的注釋文件和通過檢測該語言添加在該文件的元數據信息。支持語言識別,Tika 有一類叫做語言標識符在包org.apache.tika.language及語言識別資料庫里面包含了語言檢測從給定文本的算法。Tika 內部使用N-gram算法語言檢測。
Tika可以根據MIME標準檢測文檔類型。Tika默認MIME類型檢測是使用org.apache.tika.mime.mimeTypes。它使用org.apache.tika.detect.Detector 接口大部分內容類型檢測。內部Tika使用多種技術,如文件匹配替換,內容類型提示,魔術字節,字符編碼,以及其他一些技術。
org.apache.tika.parser 解析器接口是Tika解析文檔的主要接口。該接口從提取文檔中的文本和元數據,并總結了其對外部用戶愿意寫解析器插件。采用不同的具體解析器類,具體為各個文檔類型,Tika 支持大量的文件格式。這些格式的具體類不同的文件格式提供支持,無論是通過直接實現邏輯分析器或使用外部解析器庫。
使用的Tika facade類是從Java調用Tika的最簡單和直接的方式,而且也沿用了外觀的設計模式。可以在 Tika API的org.apache.tika包Tika 找到外觀facade類。通過實現基本用例,Tika作為facade的代理。它抽象了的Tika庫的底層復雜性,例如MIME檢測機制,解析器接口和語言檢測機制,并提供給用戶一個簡單的接口來使用。
四、案例
五、結論
總結
以上是生活随笔為你收集整理的Tika 1.16架构及核心模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android微信九宫格图片展示控件
- 下一篇: 正规的伦敦金投资平台排行榜(top 10