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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tika 1.16架构及核心模块

發(fā)布時(shí)間:2024/1/8 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tika 1.16架构及核心模块 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、什么是Tika?

  • Apache Tika用于文件類型檢測和從各種格式的文件內(nèi)容提取的庫。

  • 在內(nèi)部,Tika使用現(xiàn)有的各種文件解析器和文檔類型的檢測技術(shù)來檢測和提取數(shù)據(jù)。

  • 使用Tika,人們可以開發(fā)出通用型檢測器和內(nèi)容提取到的不同類型的文件,如電子表格,文本文件,圖像,PDF文件甚至多媒體輸入格式,在一定程度上提取結(jié)構(gòu)化文本以及元數(shù)據(jù)。

  • Tika提供用于解析不同文件格式的一個(gè)通用API。它采用83個(gè)現(xiàn)有的專業(yè)解析器庫,為每個(gè)文檔類型。

  • 所有這些解析器庫是根據(jù)一個(gè)叫做Parser接口單一接口封裝。

二、架構(gòu)

三、核心模塊

  • 語言檢測機(jī)制
  • 每當(dāng)一個(gè)文本文件被傳遞到Tika,它將檢測在其中的語言。它接受沒有語言的注釋文件和通過檢測該語言添加在該文件的元數(shù)據(jù)信息。支持語言識別,Tika 有一類叫做語言標(biāo)識符在包org.apache.tika.language及語言識別資料庫里面包含了語言檢測從給定文本的算法。Tika 內(nèi)部使用N-gram算法語言檢測。

  • MIME檢測機(jī)制
  • Tika可以根據(jù)MIME標(biāo)準(zhǔn)檢測文檔類型。Tika默認(rèn)MIME類型檢測是使用org.apache.tika.mime.mimeTypes。它使用org.apache.tika.detect.Detector 接口大部分內(nèi)容類型檢測。內(nèi)部Tika使用多種技術(shù),如文件匹配替換,內(nèi)容類型提示,魔術(shù)字節(jié),字符編碼,以及其他一些技術(shù)。

  • 解析器接口
  • org.apache.tika.parser 解析器接口是Tika解析文檔的主要接口。該接口從提取文檔中的文本和元數(shù)據(jù),并總結(jié)了其對外部用戶愿意寫解析器插件。采用不同的具體解析器類,具體為各個(gè)文檔類型,Tika 支持大量的文件格式。這些格式的具體類不同的文件格式提供支持,無論是通過直接實(shí)現(xiàn)邏輯分析器或使用外部解析器庫。

  • Tika Facade 類
  • 使用的Tika facade類是從Java調(diào)用Tika的最簡單和直接的方式,而且也沿用了外觀的設(shè)計(jì)模式。可以在 Tika API的org.apache.tika包Tika 找到外觀facade類。通過實(shí)現(xiàn)基本用例,Tika作為facade的代理。它抽象了的Tika庫的底層復(fù)雜性,例如MIME檢測機(jī)制,解析器接口和語言檢測機(jī)制,并提供給用戶一個(gè)簡單的接口來使用。

    四、案例

  • 解析標(biāo)準(zhǔn)PDF【現(xiàn)場演示】
  • tika不能識別圖片里面的內(nèi)容,所以掃描版的pdf不能解析
  • OCR識別(利用外部程序:Tesseract-OCR)【現(xiàn)場演示】
  • 需要有訓(xùn)練集

    五、結(jié)論

  • 官方文檔給出tika曾是lucene子項(xiàng)目,應(yīng)用場景是提出元數(shù)據(jù)和內(nèi)容作全文本檢索。
  • tika內(nèi)容解析是靠XHTML SAX events傳遞的,可以直接轉(zhuǎn)字符串或者xml結(jié)構(gòu)(只做結(jié)構(gòu)化用),之后可以用xpath expression提取數(shù)據(jù),類似jsoup。但這做不到通用。
  • 提取metadata是文件自身的信息,就和你右鍵文件屬性看到信息一樣,有就有,沒有就沒有,結(jié)構(gòu)化的文本就是整個(gè)文件的內(nèi)容
  • 總結(jié)

    以上是生活随笔為你收集整理的Tika 1.16架构及核心模块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。