Apache Tika,无法检索' subject'元数据值

时间:2014-04-11 13:22:32

标签: java metadata apache-tika

我正在使用java,我正在尝试使用apache tika提取一些元数据,但我无法超出“主题”元数据的预期值。该文件是jpg图像。这是我的代码:

首先我正在解析这样的文件:

        inputStream = new FileInputStream(fileToExtract);   
        Parser parser = new AutoDetectParser();  
        ContentHandler contentHandler = new BodyContentHandler();  
        Metadata metadata = new Metadata(); 
        parser.parse(inputStream, contentHandler, metadata, new ParseContext()); 

然后我试图打印这些:

    metadata.get(Metadata.AUTHOR)                           -->  "MyAuthor"
    metadata.get(TikaCoreProperties.CREATOR)                -->  "MyCreator"
    metadata.get(TikaCoreProperties.TITLE)                  -->   "MyTitle"
    metadata.get(Metadata.SUBJECT)                          -->   **null**
    metadata.get(TikaCoreProperties.KEYWORDS)               -->   **null**

所以,我得到了正确的所有值,我得到了主题的空值。元数据是我手动添加的(右键单击>属性,Windows操作系统)。

enter image description here

我做错了吗?


PS:请注意,“TikaCoreProperties.KEYWORDS”是根据apache tika文档检索主题的另一种方法。

1 个答案:

答案 0 :(得分:0)

Apache Tika尝试在所有文件格式中返回一致的元数据。如果一种格式称为Author,另一种Creator,另一种Created By和另一种Creator[0],Tika将这些格式全部映射到一致的密钥上并不重要。通常,这些密钥基于众所周知的外部标准,例如Dublin Core

如果要查看Tika应用于Microsoft Office文档的映射,您需要查看SummaryExtractor。如果您想知道Tika可以从给定文件中提取的所有元数据键和值,请使用tika-app cli工具和--metadata,或致电names() {{1}} 3}}获取Tika找到的元数据键列表。