Java MarkLogic搜索和检索特定字段

Java MarkLogic搜索和检索特定字段,java,marklogic,Java,Marklogic,我是MarkLogic(和noSQL)的新手,目前正在尝试学习JavaAPI客户机。我关于搜索的问题是返回搜索结果片段/匹配项,搜索结果是否可能在文档中包含特定字段 例如,鉴于本文件: {"id":"1", "type":"classified", "description": "This is a classified type."} 我用这个搜索: QueryManager queryMgr = client.newQueryManager(); String

我是MarkLogic(和noSQL)的新手,目前正在尝试学习JavaAPI客户机。我关于搜索的问题是返回搜索结果片段/匹配项,搜索结果是否可能在文档中包含特定字段

例如,鉴于本文件:

{"id":"1", "type":"classified", "description": "This is a classified type."}
我用这个搜索:

    QueryManager queryMgr = client.newQueryManager();       
    StringQueryDefinition query = queryMgr.newStringDefinition();       
    query.setCriteria("classified");
    queryMgr.search(query, resultsHandle);
如何获取JSON文档的3个定义字段(id、类型、描述)作为搜索结果的一部分,以便在UI表中显示它们


我是否需要通过URI加载文档来再次点击DB(因此,如果我有1000条记录,这意味着再次点击DB 1000次)?

您可以使用搜索结果检索特定字段。你可以用这个。您可以使用它返回每个文档的全部内容,然后将其作为pojo、字符串或任何其他句柄获取。或者,您可以使用与上面使用的相同的API,但添加搜索选项以允许您进行搜索

如果您带回了数千个匹配项,那么您可能没有向最终用户显示所有这些片段,因此您可能应该使用

<transform-results apply="empty-snippet" />


在您的选项中。

您有多个选项可以使用搜索结果检索特定字段。你可以用这个。您可以使用它返回每个文档的全部内容,然后将其作为pojo、字符串或任何其他句柄获取。或者,您可以使用与上面使用的相同的API,但添加搜索选项以允许您进行搜索

如果您带回了数千个匹配项,那么您可能没有向最终用户显示所有这些片段,因此您可能应该使用

<transform-results apply="empty-snippet" />


在您的选项中。

谢谢mate,我使用了链接上的方法“读取与查询匹配的多个文档”,其中我通过DocumentPage和DocumentRecord.getAsContent(类)获取文档内容。谢谢mate,我使用了链接上的方法“读取与查询匹配的多个文档”,其中,我通过DocumentPage和DocumentRecord.getAsContent(类)获取文档的内容。