tika in action第十一章中文

自我的学习记录!

Chapter11 tika的扩展

世界上有成千上万个文件格式,而且新的还在不断地被引入,所以说tika不可能支持所有的类型。因此虽然每一个tika版本增加对新的格式支持,也没到tika可以对你正在试图使用的文件抽取内容或检测类型的时候。这一章节是关于你应该如何去处理这一情形。

想象你正在处理一种基于XML新的医学处方文件格式。每一个文件描述单一的处方,由一系列混合与自由形式的信息组成。可为了更好的安全性与隐私,处方文件能随意地数字签名和加密。11.1节说明了在实际中如何去使用数字处方文件。

将这些基于自由形式和选定某些元数据(像病人名字,标识符)的文件进行搜索是有用的。最简单的实现这样一个搜索引擎的方法是使用一个已存在的搜索栈,然后去做所需要的是去教tika如何去解析这些文件。

我们将会使用这样的数字处方文件作为扩展tika的例子。首先,我们将教会tika如何去检测和识别这类文件,然后去怎么让tika正确地解析文件。

11.1增加类型的信息

       处理一种新的文件类型的第一步是在媒体类型中识别它。我们实验性的命名处方文件格式为“application/x-prescription+xml”。前缀的“x-”表示未被官方注册的实验性类型,后缀的“+xml”是说明这是基于xml的类型。

       我们也需要一些信息去帮助处方文件的自动检测。正如在第四章讨论的,文件扩展名和XML根元素是类型检测的很好提示。所以,我们假定处方文件被命名”.xpd”作为处方文件扩展名。进一步的,我们假定XML文件以一个”<xpd:prescription>”元素开始,其前缀”xpd”是映射到命名空间“http://example.com/2011/xpd”。下面的列表展示了这一文件可能的结构:

      

       媒体类型中这一类型所有信息可以描述记录在下面。请回到第四章我们学习MIME-info数据库去获取关于媒体类型记录结构进一步信息:

       教tika关于新的文件类型的最明显方式是扩展已知的媒体类型数据库,所以这就是第一步我们应该注重的。

 

11.1.1自定义媒体类型配置

       我们来看早些在第四章学习的共享的MIME-info数据库文件。数据库包含了在tika中所有已知的媒体类型信息,所以要支持一种新的类型需要将其加入到数据库中。这一节展示如何去做这一任务。

       在tika-core JAR中Tika默认从“org/apache/tika/mime/tika-mimetypes.xml”文件加载数据库。但是你也可以通过使用”MimeTypesFactory”类命令tika加载替换的文件。例如下面的列表说明了在类型检测中如何加载替换的MIME-info数据库和建立tika façade实例:

 

      当使用上述的自定义设置时,这一代码段将会返回期望的“application/x-prescription+xml”媒体类型。你也可以使用被“MimeTypesFactory”类返回“MimeTypes”类对象来创建”AutoDetectParser”实例或者任何你需要一个检测器对象的地方。

       Tik

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值