日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/15 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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信息的


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

[html]?view plaincopy
  • 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類,即可獲取到處理后的信息。給個最簡單的例子:

    [java]?view plaincopy
  • 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》


    原文出自:http://blog.csdn.net/pelick/article/details/8520352

    總結

    以上是生活随笔為你收集整理的Apache Tika:通用的内容分析工具的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。