我如何上传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()));
}
请用逻辑和代码帮助我。
答案 0 :(得分:2)
在这种情况下,您必须应用一些转换。 MarkLogic将二进制文档存储为二进制节点(在这种情况下,二进制文档就是您所指的 - pdf,docx等)。二进制节点当然不可搜索。您可以通过多种方式实现转化:
我希望这些资源可以帮到你。除此之外,您还可以参加开发人员或管理员培训,其中解释了这些概念,有关详细信息,请访问:http://www.marklogic.com/training/