MarkLogic搜索并检索特定字段

时间:2016-06-14 05:57:14

标签: java marklogic

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

例如,鉴于此文件:

{"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加载文档再次点击数据库(因此,如果我有1000条记录,这意味着再次点击数据库1000次)?

1 个答案:

答案 0 :(得分:3)

您可以使用多种方法检索搜索结果中的特定字段。您可以使用Pojo Data Binding Interface。您可以read multiple documents matching a query带回每个文档的全部内容,然后您可以将其作为pojo或String或任何其他句柄获取。或者您可以使用上面使用的相同API,但添加搜索选项以允许您extract a portion of a matching document

如果您带回了数千场比赛,那么您可能无法向最终用户展示所有这些片段,因此您应该disable snippets使用类似

的内容
<transform-results apply="empty-snippet" />

在您的选项中。

相关问题