Marklogic Docx类型(除了txt,json和xml之外)文档上传和在文件中搜索

时间:2017-05-19 11:56:59

标签: marklogic marklogic-8

我如何上传MS文档(扩展名为.docx .xls等)/ .pdf并使用Java API从这些文件中搜索单词。

我在下面尝试过上传docx文件

InputStream docStream = Example.class.getClassLoader().getResourceAsStream(
            "data"+File.separator+"Resume.docx");



    GenericDocumentManager manager = client.newDocumentManager();

    DocumentMetadataHandle handleMetaData = new DocumentMetadataHandle();

    // create a handle on the content
    InputStreamHandle handle = new InputStreamHandle(docStream);

    // write the document content
    manager.write("/example/resume.docx", handleMetaData, handle);

要搜索我在下面尝试过,

GenericDocumentManager manager = client.newDocumentManager();
    StringQueryDefinition query = 
            queryMgr.newStringDefinition().withCriteria("pavan");


    DocumentPage documents = manager.search(query, 1);
    while (documents.hasNext()) {
        DocumentRecord document = documents.next();
       System.out.println("document" + document.getContent(new StringHandle()));
    }

请用逻辑和代码帮助我。

1 个答案:

答案 0 :(得分:2)

在这种情况下,您必须应用一些转换。 MarkLogic将二进制文档存储为二进制节点(在这种情况下,二进制文档就是您所指的 - pdf,docx等)。二进制节点当然不可搜索。您可以通过多种方式实现转化:

我希望这些资源可以帮到你。除此之外,您还可以参加开发人员或管理员培训,其中解释了这些概念,有关详细信息,请访问:http://www.marklogic.com/training/