MarkLogic - 按示例搜索排序查询

时间:2015-01-27 06:28:14

标签: java marklogic

    ....
    StringHandle rawHandle = new StringHandle(jsonString);
    RawQueryByExampleDefinition querydef = queryManager.newRawQueryByExampleDefinition(rawHandle);
    querydef.setCollections(collection);
    StringHandle report = queryManager.validate(querydef, new StringHandle());

    LOGGER.info("Query Def valididity: {}",report.toString());

    StringHandle resultsHandle = new StringHandle().withFormat(Format.JSON);
    queryManager.setPageLength(size);
    queryManager.search(querydef, resultsHandle, startIndex);
    ....

我使用上面的代码进行MarkLogic搜索按示例查询,我的问题是你怎么能通过"排序" RawQueryByExampleDefinition中的条件,用于对结果集进行排序或排序。例如,我希望结果按emailAddress排序,类似于以下查询:

{
 "$query":
   {
      "identifier":"user",
      "$sort-by":"emailAddress"
   }
}

我如何实现"排序"以及指定desc或asc?

1 个答案:

答案 0 :(得分:1)

我认为可以使用https://docs.marklogic.com/guide/java/searches#id_76144中的“合并查询”和https://docs.marklogic.com/search:search中的sort-order选项

来完成