1. 程式人生 > >Apache Tika:通用的內容分析工具

Apache Tika:通用的內容分析工具

專案介紹

Tika是一個內容分析工具,自帶全面的parser工具類,能解析基本所有常見格式的檔案,得到檔案的metadata,content等內容,返回格式化資訊。總的來說可以作為一個通用的解析工具。特別對於搜尋引擎的資料抓去和處理步驟有重要意義。

Tika是一個目的明確,使用簡單的apache的開源專案。下圖是Tika誕生的一個歷史過程。


Tika專案之初來源於Nutch專案(大家應該都不陌生),現在是Lucene的子專案,所以也是來源於搜尋引擎。其實Nutch這個專案的開發過程中,孕育了不少東西,應該都歸功於Doug Cutting。我個人也是覺得這件事情很贊,要搞Nutch這樣一個通用的搜尋引擎,包括了全文索引和Web爬蟲兩大塊內容,在開發過程中逐漸誕生出一些核心的周邊產品,再孕育成子專案,包括hadoop,Lucene,Tika等等這些現代很主流,使用人群很廣的通用專案,帶給了IT界不少便利。我個人對此非常憧憬,覺得甚是美好。

從原始碼看功能

通過src裡幾個包和主要類,看Tika能幹什麼。跳過core包,tika-parsers展示了Tika能處理的檔案類別和內容,


音訊,圖片,文字,各種格式的檔案,tika都有對應的parser類來處理。而且Tika提供給了一些parser介面供擴充套件tika-bundle提供Tika結合OSGi容器的能力。tika-app而則是一個在程式碼外直接使用Tika的jar包,可以在官網直接下載使用,提供gui和cmd使用方式,直觀地體驗這款產品。下面我會截圖展示。

Tika架構

下圖解釋了Tika的架構以及關鍵零部件的主要設計目標:由一個解析器框架(中間),MIME檢測機制(右側),語言檢測(左側),和一個facade元件(中間部分的原理圖)聯絡所有元件。外部介面,包括命令列和圖形介面(下一節我會簡單介紹),允許使用者整合到指令碼或者應用程式,並與Tika直接互動。在整個結構中,Tika的體系結構是可擴充套件的,新的解析器可以輕鬆地新增和刪除。


Tika使用

直接使用Tika,只要java -jar tika-app-1.2 --gui即可啟動,你可以把開啟本地檔案或者新增你要解析的url地址,甚至直接把各種檔案拖入Tika,檢視Tika的解析結果。大家可以直接下載jar包體驗下,非常方便。在View內可以選擇你想檢視的內容(Metadata, text等)。Tika對圖片的處理主要是提供一些元資訊,並不能分析出圖片內的內容,所以圖片形式的pdf檔案自然是不能檢視text資訊的


如果是用命令列,類似的語法是這樣的:

java -jar tika-app-1.0.jar --text document.doc
java -jar tika-app-1.0.jar --encoding=UTF-8 --text document.doc
java -jar tika-app-1.0.jar --metadata document.doc

想在別的工程中使用Tika,只要在maven專案依賴裡新增Tika,new Tika的例項,然後直接呼叫Tika的解析parser類,即可獲取到處理後的資訊。給個最簡單的例子:

import java.io.File;
import org.apache.tika.Tika;
public class SimpleTextExtractor {
  public static void main(String[] args) throws Exception {
    // Create a Tika instance with the default configuration
    Tika tika = new Tika();
    // Parse all given files and print out the extracted text content
    for (String file : args) {
      String text = tika.parseToString(new File(file));
      System.out.print(text);
    }
  }
}

總結

介紹Tika出於兩個目的:

1. 感覺是一個通用,實用且易用的分析工具,可以與lucene,solr結合,天生服務搜尋引擎

2. 感嘆Nutch專案發展歷史,Apache各種開源專案的緊密,自然,優美的關聯性。

更多內容參看 《Tika in action》

(全文完)

相關推薦

Apache Tika:通用內容分析工具

專案介紹 Tika是一個內容分析工具,自帶全面的parser工具類,能解析基本所有常見格式的檔案,得到檔案的metadata,content等內容,返回格式化資訊。總的來說可以作為一個通用的解析工具。特別對於搜尋引擎的資料抓去和處理步驟有重要意義。 Tika是一個目的明確,

Apache Tika文件處理工具

隨著計算機使用的日益普及以及網際網路的無處不在,現在有各種語言的大量資訊可為人所用。自動資訊處理和檢索也越來越需要理解跨文化、語言和大洲的內容。最 近的一個 Apache 軟體專案 Tika 是旨在實現內容理解的一個很重要的工具。簡介在本教程中,我們將通過解釋性的例子介紹 A

ofd電子文件內容分析工具分析文件、簽章和證書)

前言 ofd是國家文件標準,其對標的文件格式是pdf。ofd文件是容器格式檔案,ofd其實就是壓縮包。將ofd檔案字尾改為.zip,解壓後可看到檔案包含的內容。 ofd檔案分析工具下載:點我下載。獲取最新版本和其他ofd相關工具,可加入QQ群:920519255; ofd檔案解壓後,可以看到如下內容:

Apache Tika 1.20 釋出,內容抽取工具集合

   Apache Tika 1.20 已釋出,Tika 是一個內容抽取的工具集合 (a toolkit for text extracting) 。它集成了 POI 和 Pdfbox,並且為文字抽取工作提供了一個統一的介面。其次,Tika 也提供了便利的擴充套件 API,用來

Apache日誌分析工具awstats配置

日誌分析工具awstats安裝 日誌分析工具awstats配置 Apache日誌分析工具awstats Apache編譯安裝步驟 Apache日誌分析工具awstats配置 awstats軟件下載地址:http://www.awstats.org/#DOWNLOADhttps://awstat

安裝日誌分析工具webalizer分析apache日誌

  1、安裝並啟動apache        yum install -y https        service   httpd restart 2

Apache TIKA---抽取多型別檔案文字內容和檔案的“隱藏資訊”

前言 有這樣一個需求“使用者上傳一個檔案,要得到這個檔案的文字內容,和它的建立時間(使用者建立的時間)” 乍一看上去,很簡單啊,可以按位元組讀檔案或按行讀檔案,也可以根據檔案的型別引入對應的jar包去獲取內容。檔案的建立時間,我找了一些資料,可以通過下面程式

Logwatch日誌分析工具

logwatch日誌監控介紹:Logwatch是使用 Perl 開發的一個日誌分析工具。Logwatch能夠對Linux 的日誌文件進行分析,並自動發送mail給相關處理人員,可定制需求。Logwatch的mail功能是借助宿主系統自帶的mail server 發郵件的,所以系統需安裝mail server

11 個 Visual Studio 代碼性能分析工具

集成 line add 一個 能夠 max sta 過程 preview 軟件開發中的性能優化對程序猿來說是一個很重要的問題。一個小問題可能成為一個大的系統的瓶頸。可是對於程序猿來說。通過自身去優化代碼是十分困難的。幸運的是。有一些很棒的工具能夠幫助程序猿進行代碼分析

PHP性能追蹤及分析工具xhprof的安裝與使用

gin rewrite 添加 run 配置 symbol restart wal libpng https://segmentfault.com/a/1190000007288664(原文地址) 對於本地開發環境來說,進行性能分析xdebug是夠用了,但如果是線上環境的

mysql慢查詢分析工具分析方法

mysql 慢查詢 分析工具 1.mysql慢查詢分析工具1.參考文檔:http://www.ttlsa.com/mysql/analyse-slow-query-log-using-anemometer/http://isadba.com/?p=655官方文檔:https://github.co

THULAC:一個高效的中文詞法分析工具包(z'z)

bsp 準確率 ext 效果 python3 nlp org 集成 的人 網址:http://thulac.thunlp.org/ THULAC(THU Lexical Analyzer for Chinese)由清華大學自然語言處理與社會人文計算實驗室研制推出的一套中文詞

scRNA-seq單細胞測序數據分析工具匯總

wid splay .cn session com strac data lib 匯總 本文總結自一篇綜述: Computational approaches for interpreting scRNA-seq data 單細胞分析分為兩個層次: cell level

python3.6中安裝numpy,pandas,scipy,scikit_learn,matplotlib等數據分析工具

scipy pandas python3.6中安裝numpy scikit_learn matplotlib等數據分析工具 運行環境:python3.6+windows64位1.安裝pip(1)如果在安裝python3.6時,你有勾選關於pip的選項,那麽在python3,6中就會帶有pi

pt-query-digest查詢日誌分析工具

tcp 技術 一段時間 ext 所在 mda pop json sdn 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 工具簡介 pt-query-digest是用於分析mysql慢查詢的一個工具,它可以分析binlog、General log、slo

Windows系統內存分析工具的介紹

內存異常 -i yun 驅動 lac 大小 定位 微軟 泄露 ?Windows系統內存分析工具的介紹(進程管理器,資源管理器,性能監視器, VMMap, RamMap,PoolMon) 微軟官方提供多種工具來分析Windows 的內存使用情況,除了系統自帶的任務管理器

系統監測和性能分析工具

系統 監測 性能分析 作為一名linux運維工程師來說,對linux系統的日常管理,檢測和系統性能的分析是必不可少的。也有一些針對系統監測和性能分析的工具。咱們現在就來了解一下。 tcpdump命令: 網絡抓包工具,過濾數據包或者定制輸出格式:

[性能調優]PeopleSoft Trace 分析工具 - TraceMagic

介紹 幫助 studio 通道 windows 7 type 請求 gty gic PeopleSoft Trace 文件包含大量的信息,在前面文章講解過如何查看trace日誌文件,這邊文章介紹一個工具可以很好的分析trace日誌文件。 TraceMagic 是由orac

從tomcat的永久區溢出看類加載方式以及內存分析工具

pan nan ade itl lvm tails except pro ava tomcat熱部署導致的溢出:tomcat設置為熱部署狀態 reload=‘true’可能會產生永久區的內存溢出,首先永久區存儲的是類的class信息,日誌報出的信息有CGLIB的報錯信息,查

JVM自帶性能分析工具介紹——jmap和jhat

inf info weibo 介紹 oci mar style lan user 0L蛻投M口l形繃9http://huiyi.docin.com/sina_5847440681 RH姥胤1操士剮訊39鎂http://www.docin.com/sina_62699771