Marklogic Docx类型(txt、json和xml除外)文档上载和搜索,并在文件中使用

Marklogic Docx类型(txt、json和xml除外)文档上载和搜索,并在文件中使用,marklogic,marklogic-8,Marklogic,Marklogic 8,如何上传MS文档(扩展名为.docx..xls等)/.pdf,并使用Java API从这些文件中搜索单词 我已经尝试在下面上传docx文件 InputStream docStream = Example.class.getClassLoader().getResourceAsStream( "data"+File.separator+"Resume.docx"); GenericDocumentManager manager = client.newDocu

如何上传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()));
    }

请在逻辑和代码方面帮助我。

在这种情况下,您必须应用一些转换。MarkLogic将二进制文档存储为二进制节点(在本例中,二进制文档是指-pdf、docx等)。二进制节点当然不可搜索。有很多方法可以实现转换:

  • 您可以使用函数(如)来实现这一点
  • 您还可以使用内容处理框架

我希望这些资源能帮助你。除此之外,您还可以参加开发人员或管理员培训,在培训中解释这些概念,更多信息请参见此处:

感谢分享。我们可以安装管道并上传文件。我可以上传PDF,我可以看到它被处理并生成XML。但当我搜索时,它不会返回结果。对于文档(.docx),它不进行处理,也不进行默认转换