目錄
1.實驗內(nèi)容
2.實驗環(huán)境
3.實驗過程
1)啟用Apache Tika
2)使用Tika解析docx文件
3)使用Tika解析網(wǎng)頁
4)使用Tika解析XML和RDF文件
5)使用Tika解析FOAF(RDF)文件
4.總結(jié)
實驗內(nèi)容:
了解使用文件解析工具Tika進行文件解析,生成文件的代替文件——文件元數(shù)據(jù)。Tika能夠解析多種文件格式,并能自動識別語言。
實驗環(huán)境:
操作系統(tǒng):Windows 8.1
Java環(huán)境:

實驗工具:
Apache Tika下載地址:http://tika.apache.org/download.html

實驗過程:
(1)使用命令行打開Tika GUI界面

(2)創(chuàng)建doc文件,并使用Tika解析

(3)解析結(jié)果解讀
1.Matadata:解析結(jié)果生成的元數(shù)據(jù)主要為管理性元數(shù)據(jù),內(nèi)容主要為文件的外部特征,如:創(chuàng)建日期、修改日期、應用名、文件格式、文件名等,以及文件的字數(shù)、行數(shù)、頁數(shù)等量化指標。
Application-Name: Microsoft Office Word
Application-Version: 14.0000
Author: lenovo
Character Count: 123
Character-Count-With-Spaces: 143
Content-Length: 13282
Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
Creation-Date: 2018-05-28T13:47:00Z
Last-Author: lenovo
Last-Modified: 2018-05-28T13:51:00Z
Last-Save-Date: 2018-05-28T13:51:00Z
Line-Count: 1
Page-Count: 1
Paragraph-Count: 1
Revision-Number: 2
Template: Normal
Total-Time: 4
Word-Count: 21
X-Parsed-By: org.apache.tika.parser.DefaultParser
X-Parsed-By: org.apache.tika.parser.microsoft.ooxml.OOXMLParser
X-TIKA:digest:MD5: cbe65201aee05621b8e210667d4b02d7
X-TIKA:digest:SHA256: 48d75a6663e3ec7599bc385ba57919cc1224e3d063cfaa18b53f0e6970d0cbd1
cp:revision: 2
creator: lenovo
date: 2018-05-28T13:51:00Z
dc:creator: lenovo
dc:publisher:
dcterms:created: 2018-05-28T13:47:00Z
dcterms:modified: 2018-05-28T13:51:00Z
extended-properties:AppVersion: 14.0000
extended-properties:Application: Microsoft Office Word
extended-properties:Company:
extended-properties:Template: Normal
extended-properties:TotalTime: 4
meta:author: lenovo
meta:character-count: 123
meta:character-count-with-spaces: 143
meta:creation-date: 2018-05-28T13:47:00Z
meta:last-author: lenovo
meta:line-count: 1
meta:page-count: 1
meta:paragraph-count: 1
meta:save-date: 2018-05-28T13:51:00Z
meta:word-count: 21
modified: 2018-05-28T13:51:00Z
publisher:
resourceName: 測試文件.docx
xmpTPg:NPages: 1
2.Structure text:主要生成html標簽格式的結(jié)構(gòu)化文件,以上元數(shù)據(jù)信息,添加在標簽<matadata>中,源文件的文字信息置于標簽<boby>下的標簽<p>中。

3.Recursive JSON:較標簽格式而言,將文件解析成了json格式,保留了源文件的文字信息,在"X-TIKA:content"字段中。

4.Main content:空。

(4)使用Tika解析網(wǎng)頁:
IBM Opensource 社區(qū):https://www.ibm.com/developerworks/cn/opensource/tutorials/os-apache-tika/index.html
解析結(jié)果:
1.Matadata:Tika對網(wǎng)頁的解析,生成的元數(shù)據(jù)大部分為描述性元數(shù)據(jù),如:keywords、title、description等。

2.Main content:
通過查看網(wǎng)頁源代碼,發(fā)現(xiàn)Tika所提取到的Main content內(nèi)容是網(wǎng)頁注釋:
<!-- CENTER_6_4_CONTENT_COLUMN_BEGIN -->
<!-- CENTER_6_4_CONTENT_COLUMN_END -->
之間的內(nèi)容。Tika對網(wǎng)頁的Main content進行了有選擇的提取。
(5)使用Tika解析一般RDF文件與XML文件:
發(fā)現(xiàn)Tika可以提取到標簽之間的文本內(nèi)容。Main content依舊為空。
books.xml:
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
<description>A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.</description>
</book>
</catalog>
person.rdf:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="[http://www.w3.org/1999/02/22-rdf-syntax-ns#](http://www.w3.org/1999/02/22-rdf-syntax-ns#)"
xmlns:cd="[http://www.recshop.fake/cd#](http://www.recshop.fake/cd#)">
<rdf:Description
rdf:about="[http://www.recshop.fake/cd/Empire](http://www.recshop.fake/cd/Empire) Burlesque">
<cd:artist>Bob Dylan</cd:artist>
<cd:country>USA</cd:country>
<cd:company>Columbia</cd:company>
<cd:price>10.90</cd:price>
<cd:year>1985</cd:year>
</rdf:Description>
<rdf:Description
rdf:about="[http://www.recshop.fake/cd/Hide](http://www.recshop.fake/cd/Hide) your heart">
<cd:artist>Bonnie Tyler</cd:artist>
<cd:country>UK</cd:country>
<cd:company>CBS Records</cd:company>
<cd:price>9.90</cd:price>
<cd:year>1988</cd:year>
</rdf:Description>
</rdf:RDF>
(6)使用Tika解析foaf文件,文件格式為.rdf:
報錯:

分析原因可能是因為Tika無法正常識別foaf標簽,因此無法提取到FOAF文件中的文本內(nèi)容。
總結(jié):
由以上解析結(jié)果可知,Tika可以比較方便的提取到文件中的文本?!?Tika 的解析器都必須能夠?qū)崿F(xiàn)從某個它能解析的文件類型提取文本的基本功能。文本內(nèi)容很有用,因為它可以被發(fā)送至搜索引擎,在內(nèi)容管理系統(tǒng)內(nèi)被索引以及用來顯示針對特定內(nèi)容塊的總結(jié)性信息。”——引自IBMOpen source社區(qū)
Tika解析網(wǎng)頁,能夠以元數(shù)據(jù)形式呈現(xiàn)網(wǎng)頁內(nèi)容,在某種程度上解析效率相比一般文件而言更高。
Tika的主要功能是Text extraction,在XML、RDF此類結(jié)構(gòu)化文檔的解析上,沒有顯著優(yōu)勢。解析結(jié)構(gòu)化文檔有其他專門的解析引擎。
可以在Java項目中導入Tika,通過編程實現(xiàn)文件解析的批處理。由于本機eclipse版本號與Java JDK版本號不匹配,本次實驗未能成功實現(xiàn)上述功能。